在 Python 中使用 REST API 比較 Excel 文件。

在 Python 中使用 REST API 比較 Excel 文件中的數據

Excel 是最流行和使用最廣泛的電子表格應用程序之一。它允許以表格形式組織、分析、計算和存儲數據。比較兩個不同 Excel 文件或同一文件的多個版本的 xlsx 文件數據是一種非常常見的需求。我們可以輕鬆地比較兩個電子表格或多個 Excel 文件以跟踪更改並突出顯示新文件中的差異。在本文中,我們將學習如何在 Python 中使用 REST API 比較 Excel 文件。

為了比較本文中的電子表格,應涵蓋以下主題:

用於比較 Excel 文件的 REST API 和 Python SDK

為了比較兩個或多個 XLSX 文件,我們將使用 GroupDocs.Comparison Cloud 的 Python SDK API。它允許比較 支持的格式 的兩個或多個文檔,並突出顯示結果文件中的差異。請在控制台中使用以下命令安裝它:

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 比較兩個 Excel 文件

我們可以按照下面給出的簡單步驟,在雲端用 python 比較兩個 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 工作表。

# 此代碼示例演示如何比較兩個 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 中比較兩個工作表。

下載結果文件

因此,上述代碼示例將在雲端保存一個新創建的帶有電子表格比較的 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 比較兩個 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));

在線試用

如何比較兩個excel表中的數據?請嘗試使用以下免費在線 XLSX 比較工具 來比較兩個 Excel 工作表以匹配數據。這個 excel 比較工具在線比較 2 個 excel 表,是使用上述 API 開發的。

結論

在本文中,我們學習瞭如何:

  • 比較兩個 Excel 工作表並突出顯示 Python 中的差異;
  • 獲取插入和刪除項目的列表;
  • 以編程方式將多個 XLSX 文件上傳到雲端;
  • 從雲端下載 XLSX 文件。

此外,您可以使用 文檔 了解有關 GroupDocs.Comparison Cloud API 的更多信息。我們還提供了一個 API 參考 部分,讓您可以直接通過瀏覽器可視化我們的 API 並與之交互。如果對如何比較 Excel 電子表格有任何疑問,請隨時在 論壇 上與我們聯繫。

也可以看看