PST (Personal Storage Table) est un format de fichier de stockage utilisé par différents programmes Microsoft. Les fichiers PST sont capables de conserver les données des messages, contacts, calendriers, événements, etc. Il est utilisé par les logiciels Microsoft populaires tels que MS Outlook, Exchange et Windows Messaging. Dans certains cas, vous devrez peut-être analyser un fichier PST et en extraire des données par programmation. Pour y parvenir, cet article montre comment analyser les fichiers PST à partir des applications Python.
- Bibliothèque Python pour analyser les fichiers PST
- Analyser un fichier PST en Python
- Extraire les messages d’un fichier PST
- Extraire les contacts d’un fichier PST
Bibliothèque Python pour analyser les fichiers PST
Afin d’analyser les fichiers PST, nous utiliserons Aspose.Email for Python. Il s’agit d’une puissante bibliothèque Python qui vous permet d’implémenter de manière transparente des clients de messagerie riches en fonctionnalités. De plus, il vous permet de travailler avec des formats de messagerie et de stockage populaires. Vous pouvez installer la bibliothèque à partir de PyPI à l’aide de la commande suivante.
> pip install Aspose.Email-for-Python-via-NET
Analyser un fichier PST en Python
Voici les étapes pour analyser un fichier PST et extraire ses informations en Python.
- Chargez le fichier PST à l’aide de la méthode PersonalStorage.fromfile().
- Obtenez la collection de dossiers dans PST à l’aide de la méthode PersonalStorage.rootfolder.getsubfolders().
- Récupérer les informations des dossiers telles que le nom, le nombre d’éléments, etc.
L’exemple de code suivant montre comment analyser un fichier PST et récupérer les informations des dossiers.
from aspose.email import PersonalStorage
# Load PST file
personalStorage = PersonalStorage.from_file("Outlook.pst")
# Get folders' collection
folderInfoCollection = personalStorage.root_folder.get_sub_folders()
# Extract folders' information
for folderInfo in folderInfoCollection:
print("Folder: " + folderInfo.display_name)
print("Total Items: " + str(folderInfo.content_count))
print("Total Unread Items: " + str(folderInfo.content_unread_count))
Extraire des messages d’un fichier PST en Python
Les messages sont les principales entités stockées dans les fichiers PST par les programmes Microsoft tels que MS Outlook. Voyons donc comment extraire des messages d’un fichier PST en Python.
- Chargez le fichier PST à l’aide de la méthode PersonalStorage.fromfile().
- Obtenez la référence du dossier souhaité dans un objet à l’aide de la méthode PersonalStorage.rootfolder.getsubfolder().
- Obtenez la collection de messages à l’aide de la méthode getcontents().
- Parcourez les messages de la collection et lisez les champs de chaque message.
L’exemple de code suivant montre comment extraire des messages d’un fichier PST en Python.
from aspose.email import PersonalStorage
# Load PST file
sourcePst = PersonalStorage.from_file("Outlook.pst")
# Select desired folder
sourceFolder = sourcePst.root_folder.get_sub_folder("Inbox")
# Get content in the folder
messageInfoCollection = sourceFolder.get_contents()
# Loop through messages in folder
for messageInfo in messageInfoCollection:
print ("Subject: " + messageInfo.subject)
print("To: " + messageInfo.display_to)
Extraire les contacts d’un fichier PST en Python
Dans certains cas, vous devrez peut-être extraire les informations des contacts stockées dans un fichier PST. Les étapes suivantes montrent comment accéder aux contacts dans un fichier PST en Python.
- Chargez le fichier PST à l’aide de la méthode PersonalStorage.fromfile().
- Obtenez la référence du dossier de contacts à l’aide de la méthode getpredefinedfolder(StandardIpmFolder.CONTACTS).
- Obtenez une collection de contacts à l’aide de la méthode getcontents().
- Parcourez la collection et lisez chaque contact ou enregistrez-le.
L’exemple de code suivant montre comment extraire des contacts d’un fichier PST en Python.
from aspose.email import PersonalStorage, StandardIpmFolder, ContactSaveFormat
# Load PST file
pst = PersonalStorage.from_file("SampleContacts_out.pst")
# Select contacts folder
folderInfo = pst.get_predefined_folder(StandardIpmFolder.CONTACTS)
# Get contacts
contactCollection = folderInfo.get_contents()
# Loop through contacts collection
for messageInfo in contactCollection:
# Get the contact information
mapi = pst.extract_message(messageInfo)
contact = mapi.to_mapi_message_item()
# Display some contents on screen
print("Name: " + contact.name_info.display_name)
# Save to disc in MSG Format
if contact.name_info.display_name is not None:
# Save contact
contact.save("Contacts\\" + contact.name_info.display_name + "_out.msg")
contact.save("Contacts\\" + contact.name_info.display_name + "_out.vcf", ContactSaveFormat.VCARD)
Obtenez une licence API gratuite
Vous pouvez essayer gratuitement Aspose.Email for Python en obtenant une licence temporaire.
Conclusion
Dans cet article, vous avez appris à analyser des fichiers PST en Python. De plus, vous avez vu comment extraire des contacts et des messages d’un fichier PST par programme en Python. De plus, vous pouvez en savoir plus sur Aspose.Email en utilisant documentation. Vous pouvez également partager vos questions ou requêtes sur notre forum.