Porovnejte soubory Excel pomocí REST API v Pythonu.

Porovnejte data v souborech Excel pomocí REST API v Pythonu

Excel je jednou z nejoblíbenějších a nejrozšířenějších tabulkových aplikací. Umožňuje organizovat, analyzovat, počítat a ukládat data v tabulkové formě. Je velmi častým požadavkem porovnat data souborů xlsx dvou různých souborů aplikace Excel nebo více verzí stejného souboru. Můžeme snadno porovnat dvě tabulky nebo více souborů aplikace Excel a sledovat změny a zvýraznit rozdíly v novém souboru. V tomto článku se naučíme, jak porovnávat soubory Excel pomocí REST API v Pythonu.

Pro porovnání tabulky v tomto článku se budou zabývat následujícími tématy:

REST API a Python SDK pro porovnání souborů aplikace Excel

Pro porovnání dvou nebo více souborů XLSX použijeme Python SDK of GroupDocs.Comparison Cloud API. Umožňuje porovnat dva nebo více dokumentů podporovaných formátů a zvýrazňuje rozdíly ve výsledném souboru. Nainstalujte jej pomocí následujícího příkazu v konzole:

pip install groupdocs-comparison-cloud

Před provedením uvedených kroků získejte své ID klienta a tajný klíč z řídicího panelu. Jakmile budete mít své ID a tajemství, přidejte kód, jak je uvedeno níže:

# Tento příklad kódu ukazuje, jak do kódu přidat ID klienta a tajný klíč.
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 = ""

Porovnejte dva soubory Excel pomocí Pythonu

Můžeme porovnat dva soubory Excel v pythonu v cloudu podle jednoduchých kroků uvedených níže:

  1. Nahrát soubory XLSX do cloudu.
  2. Porovnejte nahrané soubory aplikace Excel.
  3. Stáhnout výsledný soubor.

Nahrajte soubory aplikace Excel

Nejprve nahrajeme zdrojové a cílové soubory XLSX do cloudu pomocí následující ukázky kódu:

# Tento příklad kódu ukazuje, jak nahrát více souborů aplikace Excel do cloudu.
# Vytvořte instanci rozhraní API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# Nahrajte ukázkové soubory
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)

V důsledku toho budou nahrané soubory aplikace Excel dostupné v sekce souborů řídicího panelu v cloudu.

Porovnejte rozdíly v souborech Excelu v Pythonu

Nyní porovnáme nahrané soubory Excel programově podle následujících kroků:

  • Nejprve vytvořte instanci CompareApi.
  • Dále nastavte cestu k nahranému zdrojovému a cílovému XLSX vstupnímu souboru.
  • Poté inicializujte objekt ComparisonOptions a přiřaďte zdrojové a cílové soubory.
  • Dále nastavte cestu k výstupnímu souboru.
  • Poté vytvořte ComparisonsRequest s ComparisonOptions jako argument.
  • Nakonec porovnejte excelové dokumenty a získejte výsledky pomocí metody comparisons().

Následující ukázka kódu ukazuje, jak porovnávat excelové listy online pomocí REST API v Pythonu.

# Tento příklad kódu ukazuje, jak porovnat dva soubory aplikace Excel.
# Vytvořte potřebné instance API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Vstupní zdrojový soubor
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.xlsx"

# Zadejte cílový soubor
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.xlsx"

# Definujte možnosti srovnání
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.xlsx"

# Vytvořit žádost o srovnání
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# porovnat
response = api_instance.comparisons(request)
Jak porovnávat data v Excelu a porovnávat více excelových souborů

Zdrojové a cílové soubory Excel.

Porovnejte 2 soubory Excel pomocí REST API v Pythonu.

Excel porovná dva listy v Pythonu pomocí REST API.

Stáhněte si výsledný soubor

Výsledkem je, že výše uvedená ukázka kódu uloží nově vytvořený soubor Excel s porovnáním tabulek do cloudu. Lze jej stáhnout pomocí následující ukázky kódu:

# Tento příklad kódu ukazuje, jak stáhnout soubor Excel z cloudu.
# Vytvořte instanci rozhraní API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# Žádost o stažení souboru
request = groupdocs_comparison_cloud.DownloadFileRequest("result.xlsx", "")

# Stáhnout soubor
response = file_api.download_file(request)

# Přesuňte stažený soubor do svého pracovního adresáře
shutil.move(response, "C:\\Files\\comparison\\")  

Porovnejte více souborů aplikace Excel v Pythonu

Můžeme také porovnat rozdíly v excelových listech podle následujících kroků:

  • Nejprve vytvořte instanci CompareApi.
  • Dále nastavte cestu k souboru XLSX vstupního zdroje.
  • Poté nastavte několik cílových cest k souboru XLSX.
  • Dále inicializujte objekt ComparisonOptions a přiřaďte zdrojové a cílové soubory.
  • Poté nastavte cestu k výstupnímu souboru.
  • Poté vytvořte ComparisonsRequest s ComparisonOptions jako argument.
  • Nakonec porovnejte tabulku Excel online a získejte výsledky pomocí metody comparisons().

Následující ukázka kódu ukazuje, jak porovnat více souborů aplikace Excel pomocí rozhraní REST API v Pythonu.

# Tento příklad kódu ukazuje, jak porovnat více souborů aplikace Excel.
# Vytvořte potřebné instance API
api_instance = groupdocs_comparison_cloud.PorovnejteApi.from_keys(client_id, client_secret)

# Vstupní zdrojový soubor
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.xlsx"

# Zadejte cílový soubor 1
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.xlsx"

# Zadejte cílový soubor 2
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.xlsx"

# Definujte možnosti srovnání
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "result_multiple.xlsx"

# Žádost o srovnání
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# Porovnejte
response = api_instance.comparisons(request)

Získejte seznam změn v Pythonu

Můžeme získat seznam všech změn a porovnat data v excelových listech nalezených při porovnávání souborů Excelu podle následujících kroků:

  • Nejprve vytvořte instanci CompareApi.
  • Dále nastavte cestu k souboru XLSX vstupního zdroje.
  • Poté nastavte cílovou cestu k souboru XLSX.
  • Dále Inicializujte objekt ComparisonOptions.
  • Poté přiřaďte zdrojové/cílové soubory a nastavte cestu k výstupnímu souboru.
  • Poté vytvořte PostChangesRequest s objektem ComparisonOptions jako argumentem.
  • Nakonec získejte výsledky voláním metody postChanges().

Následující ukázka kódu ukazuje, jak porovnat data ve dvou excelových listech pro shody pomocí REST API v Pythonu.

# Tento příklad kódu ukazuje, jak získat seznam změn nalezených během porovnávání.
# Vytvořte potřebné instance API
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Vstupní zdrojový soubor
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.xlsx"

# Zadejte cílový soubor
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.xlsx"

# Definujte možnosti srovnání
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]

# Vytvořit požadavek na odeslání změn
request = groupdocs_comparison_cloud.PostChangesRequest(options)

# odeslat změny
response = api_instance.post_changes(request)

# Ukázat
for change in response:
  print("Change # " + str(change.id + 1) + "- Target Text: " + str(change.target_text) + ", Text: " + str(change.text) + ", Type: " + str(change.type));

Vyzkoušejte online

Jak porovnat data ze dvou excelových listů? Vyzkoušejte prosím následující bezplatný online nástroj pro porovnání XLSX a porovnejte dva excelové listy pro porovnání dat. Tento excelový srovnávací nástroj porovnává 2 excelové listy online a je vyvinut pomocí výše uvedeného API.

Závěr

V tomto článku jsme se naučili, jak:

  • porovnejte dva excelové listy a zvýrazněte rozdíly v Pythonu;
  • získat seznam vložených a odstraněných položek;
  • programově nahrávat více než jeden soubor XLSX do cloudu;
  • stáhněte si soubor XLSX z cloudu.

Kromě toho se můžete dozvědět více o GroupDocs.Comparison Cloud API pomocí dokumentace. Poskytujeme také sekci API Reference, která vám umožní vizualizovat a pracovat s našimi API přímo prostřednictvím prohlížeče. V případě jakýchkoliv nejasností ohledně srovnání excelových tabulek nás prosím neváhejte kontaktovat na fóru.

Viz také