PythonでOutlookPSTファイルを解析する

PST(Personal Storage Table)は、さまざまなMicrosoftプログラムで使用されるストレージファイル形式です。 PSTファイルは、メッセージ、連絡先、カレンダー、イベントなどのデータを保持できます。これは、MS Outlook、Exchange、Windowsメッセージングなどの一般的なMicrosoftソフトウェアで使用されます。場合によっては、PSTファイルを解析し、プログラムでそこからデータを抽出する必要があります。これを実現するために、この記事では、Pythonアプリケーション内からPSTファイルを解析する方法を示します。

PSTファイルを解析するPythonライブラリ

PSTファイルを解析するには、Aspose.Email forPythonを使用します。これは、機能豊富な電子メールクライアントをシームレスに実装できる強力なPythonライブラリです。さらに、一般的な電子メールおよびストレージ形式で作業することができます。次のコマンドを使用して、PyPIからライブラリをインストールできます。

> pip install Aspose.Email-for-Python-via-NET

PythonでPSTファイルを解析する

以下は、PSTファイルを解析してPythonでその情報を抽出する手順です。

  • PersonalStorage.from_file()メソッドを使用してPSTファイルをロードします。
  • PersonalStorage.root_folder.get_sub_folder()メソッドを使用して、PSTでフォルダーコレクションを取得します。
  • 名前、アイテム数などのフォルダの情報を取得します。

次のコードサンプルは、PSTファイルを解析してフォルダの情報を取得する方法を示しています。

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))

PythonでPSTファイルからメッセージを抽出する

メッセージは、MSOutlookなどのMicrosoftプログラムによってPSTファイルに保存される主要なエンティティです。それでは、PythonでPSTファイルからメッセージを抽出する方法を見てみましょう。

  • PersonalStorage.from_file()メソッドを使用してPSTファイルをロードします。
  • PersonalStorage.root_folder.get_sub_folder()メソッドを使用して、オブジェクト内の目的のフォルダーの参照を取得します。
  • get_contents()メソッドを使用してメッセージコレクションを取得します。
  • コレクション内のメッセージをループして、各メッセージのフィールドを読み取ります。

次のコードサンプルは、PythonでPSTファイルからメッセージを抽出する方法を示しています。

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)

PythonでPSTファイルから連絡先を抽出する

場合によっては、PSTファイルに保存されている連絡先の情報を抽出する必要があります。次の手順は、PythonでPSTファイルの連絡先にアクセスする方法を示しています。

  • PersonalStorage.from_file()メソッドを使用してPSTファイルをロードします。
  • get_predefined_folder(StandardIpmFolder.CONTACTS)メソッドを使用して、連絡先フォルダーの参照を取得します。
  • get_contents()メソッドを使用して連絡先のコレクションを取得します。
  • コレクションをループして、各連絡先を読むか、保存します。

次のコードサンプルは、PythonでPSTファイルから連絡先を抽出する方法を示しています。

無料のAPIライセンスを取得する

一時ライセンスの取得を使用すると、Aspose.EmailforPythonを無料で試すことができます。

結論

この記事では、PythonでPSTファイルを解析する方法を学びました。さらに、PythonでプログラムでPSTファイルから連絡先とメッセージを抽出する方法を見てきました。さらに、documentationを使用して、Aspose.Emailの詳細を調べることができます。また、フォーラムで質問や質問を共有することもできます。

関連項目