Python の REST API を使用して Excel ファイルを比較します。

Python の REST API を使用して Excel ファイル内のデータを比較する

Excel は、最も人気があり、広く使用されているスプレッドシート アプリケーションの 1 つです。データを表形式で整理、分析、計算、保存できます。 2 つの異なる Excel ファイルまたは同じファイルの複数のバージョンの xlsx ファイル データを比較することは、非常に一般的な要件です。 2 つのスプレッドシートまたは複数の Excel ファイルを簡単に比較して、変更を追跡し、新しいファイルの違いを強調表示できます。この記事では、Python の REST API を使用して Excel ファイルを比較する方法を学びます。

この記事では、スプレッドシートを比較するために次のトピックについて説明します。

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 ファイルを比較できます。

  1. XLSX ファイルをクラウドに アップロードします。
  2. アップロードされた Excel ファイルを比較します。
  3. 結果のファイルをダウンロードします。

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ファイルを比較する方法

ソースおよびターゲット Excel ファイル。

Python の REST API を使用して 2 つの Excel ファイルを比較します。

Excel は、REST API を使用して Python で 2 つのシートを比較します。

結果のファイルをダウンロードする

その結果、上記のコード サンプルは、スプレッドシート比較を含む新しく作成された 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 スプレッドシートの比較方法について不明な点がある場合は、フォーラム までお気軽にお問い合わせください。

関連項目