Excel は、最も人気があり、広く使用されているスプレッドシート アプリケーションの 1 つです。データを表形式で整理、分析、計算、保存できます。 2 つの異なる Excel ファイルまたは同じファイルの複数のバージョンの xlsx ファイル データを比較することは、非常に一般的な要件です。 2 つのスプレッドシートまたは複数の Excel ファイルを簡単に比較して、変更を追跡し、新しいファイルの違いを強調表示できます。この記事では、Python の REST API を使用して Excel ファイルを比較する方法を学びます。
この記事では、スプレッドシートを比較するために次のトピックについて説明します。
- Excel ファイルを比較するための REST API と Python SDK
- Python を使用して 2 つの Excel ファイルを比較する
- Python で複数の Excel ファイルを比較する
- Python での変更リストの取得
Excel ファイルを比較するための REST API と Python SDK
2 つ以上の XLSX ファイルを比較するには、GroupDocs.Comparison Cloud の Python SDK API を使用します。 サポートされている形式 の 2 つ以上のドキュメントを比較し、結果のファイルの違いを強調表示することができます。コンソールで次のコマンドを使用してインストールしてください。
pip install groupdocs-comparison-cloud
上記の手順に従う前に、ダッシュボードからクライアント ID とシークレットを取得してください。 ID とシークレットを取得したら、以下に示すようにコードを追加します。
# このコード例は、コードにクライアント ID とシークレットを追加する方法を示しています。
client_id = '659fe7da-715b-4744-a0f7-cf469a392b73';
client_secret = 'b377c36cfa28fa69960ebac6b6e36421';
configuration = groupdocs_comparison_cloud.Configuration(client_id, client_secret)
configuration.api_base_url = "https://api.groupdocs.cloud"
my_storage = ""
Python を使用して 2 つの Excel ファイルを比較する
以下に示す簡単な手順に従って、クラウド上の Python で 2 つの Excel ファイルを比較できます。
- XLSX ファイルをクラウドに アップロードします。
- アップロードされた Excel ファイルを比較します。
- 結果のファイルをダウンロードします。
Excel ファイルをアップロードする
まず、次のコード サンプルを使用して、ソース XLSX ファイルとターゲット XLSX ファイルをクラウドにアップロードします。
# このコード例は、複数の Excel ファイルをクラウドにアップロードする方法を示しています。
# APIのインスタンスを作成する
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
# サンプルファイルをアップロードする
for filename in glob.iglob("C:\\Files\\comparison\\upload\\*.xlsx", recursive=True):
destFile = filename.replace("C:\\Files\\comparison\\upload\\", "",1)
file_api.upload_file(groupdocs_comparison_cloud.UploadFileRequest(destFile, filename))
print("Uploaded file: "+ destFile)
その結果、アップロードされた Excel ファイルは、クラウド上のダッシュボードの ファイル セクション で利用できるようになります。
Python で Excel ファイルを比較して相違点を確認する
次に、以下の手順に従って、アップロードされた Excel ファイルをプログラムで比較します。
- まず、CompareApi のインスタンスを作成します。
- 次に、アップロードされたソースとターゲットの XLSX 入力ファイルのパスを設定します。
- 次に、ComparisonOptions オブジェクトを初期化し、ソース ファイルとターゲット ファイルを割り当てます。
- 次に、出力ファイルのパスを設定します。
- その後、ComparisonOptions を引数として ComparisonsRequest を作成します。
- 最後に、comparisons() メソッドを使用して Excel ドキュメントを比較し、結果を取得します。
次のコード サンプルは、Python の REST API を使用して Excel シートをオンラインで比較する方法を示しています。
# このコード例は、2 つの Excel ファイルを比較する方法を示します。
# 必要なAPIインスタンスを作成する
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)
# 入力ソースファイル
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.xlsx"
# 入力対象ファイル
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.xlsx"
# 比較オプションを定義する
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.xlsx"
# 比較リクエストの作成
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
# 比較
response = api_instance.comparisons(request)
結果のファイルをダウンロードする
その結果、上記のコード サンプルは、スプレッドシート比較を含む新しく作成された Excel ファイルをクラウド上に保存します。次のコードサンプルを使用してダウンロードできます。
# このコード例は、クラウドから Excel ファイルをダウンロードする方法を示しています。
# APIのインスタンスを作成する
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)
# ファイルのダウンロード要求
request = groupdocs_comparison_cloud.DownloadFileRequest("result.xlsx", "")
# ダウンロードファイル
response = file_api.download_file(request)
# ダウンロードしたファイルを作業ディレクトリに移動します
shutil.move(response, "C:\\Files\\comparison\\")
Python で複数の Excel ファイルを比較する
以下の手順に従って、Excel シートを比較して相違点を確認することもできます。
- まず、CompareApi のインスタンスを作成します。
- 次に、入力元のXLSXファイルのパスを設定します。
- 次に、複数のターゲット XLSX ファイル パスを設定します。
- 次に、ComparisonOptions オブジェクトを初期化し、ソース ファイルとターゲット ファイルを割り当てます。
- 次に、出力ファイルのパスを設定します。
- その後、ComparisonOptions を引数として ComparisonsRequest を作成します。
- 最後に、Excel シートをオンラインで比較し、comparisons() メソッドを使用して結果を取得します。
次のコード サンプルは、Python の REST API を使用して複数の Excel ファイルを比較する方法を示しています。
# このコード例は、複数の Excel ファイルを比較する方法を示します。
# 必要なAPIインスタンスを作成する
api_instance = groupdocs_comparison_cloud.比較Api.from_keys(client_id, client_secret)
# 入力ソースファイル
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.xlsx"
# 入力対象1ファイル
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.xlsx"
# 入力対象2ファイル
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.xlsx"
# 比較オプションを定義する
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "result_multiple.xlsx"
# 比較リクエスト
request = groupdocs_comparison_cloud.ComparisonsRequest(options)
# 比較
response = api_instance.comparisons(request)
Python での変更リストの取得
以下の手順に従って、すべての変更のリストを取得し、Excel ファイルの比較中に見つかった Excel シートのデータを比較できます。
- まず、CompareApi のインスタンスを作成します。
- 次に、入力元のXLSXファイルのパスを設定します。
- 次に、ターゲットの XLSX ファイル パスを設定します。
- 次に、ComparisonOptions オブジェクトを初期化します。
- 次に、ソース/ターゲット ファイルを割り当て、出力ファイルのパスを設定します。
- その後、ComparisonOptions オブジェクトを引数として PostChangesRequest を作成します。
- 最後に、postChanges() メソッドを呼び出して結果を取得します。
次のコード サンプルは、Python の REST API を使用して 2 つの Excel シートのデータを比較して一致する方法を示しています。
# このコード例は、比較中に見つかった変更のリストを取得する方法を示しています。
# 必要なAPIインスタンスを作成する
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)
# 入力ソースファイル
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.xlsx"
# 入力対象ファイル
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.xlsx"
# 比較オプションを定義する
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
# 変更後のリクエストを作成する
request = groupdocs_comparison_cloud.PostChangesRequest(options)
# 変更を投稿する
response = api_instance.post_changes(request)
# 見せる
for change in response:
print("Change # " + str(change.id + 1) + "- Target Text: " + str(change.target_text) + ", Text: " + str(change.text) + ", Type: " + str(change.type));
オンラインで試す
2 つの Excel シートのデータを比較するにはどうすればよいですか?以下の 無料オンライン XLSX 比較ツール を試して、2 つの Excel シートを比較してデータが一致するかどうかを確認してください。この Excel 比較ツールは、オンラインで 2 つの Excel シートを比較し、上記の API を使用して開発されています。
結論
この記事では、次の方法を学びました。
- 2 つの Excel シートを比較し、Python の違いを強調表示します。
- 挿入および削除された項目のリストを取得します。
- 複数の XLSX ファイルをプログラムでクラウドにアップロードします。
- クラウドから XLSX ファイルをダウンロードします。
さらに、ドキュメント を使用して、GroupDocs.Comparison Cloud API について詳しく学ぶことができます。また、ブラウザーを通じて直接 API を視覚化し操作できるようにする API リファレンス セクションも提供しています。 Excel スプレッドシートの比較方法について不明な点がある場合は、フォーラム までお気軽にお問い合わせください。