Compare arquivos do Excel usando a API REST em Python.

Comparar dados em arquivos do Excel usando a API REST em Python

O Excel é um dos aplicativos de planilhas mais populares e amplamente utilizados. Ele permite organizar, analisar, computar e armazenar dados em forma de tabela. É um requisito muito comum comparar dados de arquivos xlsx de dois arquivos diferentes do Excel ou várias versões do mesmo arquivo. Podemos comparar facilmente duas planilhas ou mais arquivos do Excel para rastrear alterações e destacar as diferenças em um novo arquivo. Neste artigo, aprenderemos como comparar arquivos do Excel usando uma API REST em Python.

Os seguintes tópicos devem ser abordados para comparar a planilha neste artigo:

API REST e Python SDK para comparar arquivos do Excel

Para comparar dois ou mais arquivos XLSX, usaremos a API Python SDK of GroupDocs.Comparison Cloud. Ele permite comparar dois ou mais documentos dos formatos suportados e destaca as diferenças em um arquivo resultante. Instale-o usando o seguinte comando no console:

pip install groupdocs-comparison-cloud

Por favor, obtenha seu ID e Segredo do cliente no painel antes de seguir as etapas mencionadas. Depois de ter seu ID e segredo, adicione o código conforme mostrado abaixo:

# Este exemplo de código demonstra como adicionar seu ID de cliente e segredo no código.
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 = ""

Comparar dois arquivos do Excel usando Python

Podemos comparar dois arquivos do Excel em python na nuvem seguindo as etapas simples abaixo:

  1. Carregar os arquivos XLSX para a nuvem.
  2. Comparar arquivos do Excel enviados.
  3. Baixe o arquivo resultante.

Carregar os arquivos do Excel

Em primeiro lugar, faremos o upload dos arquivos XLSX de origem e destino para a nuvem usando o seguinte exemplo de código:

# Este exemplo de código demonstra como carregar vários arquivos do Excel na nuvem.
# Criar instância da API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# Carregar arquivos de amostra
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)

Como resultado, os arquivos Excel carregados estarão disponíveis na seção de arquivos do painel na nuvem.

Comparar arquivos do Excel para diferenças em Python

Agora, vamos comparar os arquivos do Excel carregados programaticamente seguindo as etapas abaixo:

  • Em primeiro lugar, crie uma instância do CompareApi.
  • Em seguida, defina os caminhos do arquivo de entrada XLSX de origem e destino.
  • Em seguida, inicialize o objeto ComparisonOptions e atribua os arquivos de origem e destino.
  • Em seguida, defina o caminho do arquivo de saída.
  • Depois disso, crie o ComparisonsRequest com ComparisonOptions como argumento.
  • Por fim, compare os documentos do Excel e obtenha os resultados usando o método comparisons().

O exemplo de código a seguir mostra como comparar planilhas do Excel online usando a API REST em Python.

# Este exemplo de código demonstra como comparar dois arquivos do Excel.
# Crie instâncias de API necessárias
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Arquivo de origem de entrada
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.xlsx"

# Arquivo de destino de entrada
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.xlsx"

# Definir opções de comparação
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.xlsx"

# Criar solicitação de comparação
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# comparar
response = api_instance.comparisons(request)
Como comparar dados no Excel e comparar vários arquivos do Excel

Arquivos Excel de origem e destino.

Compare 2 arquivos do Excel usando uma API REST em Python.

O Excel compara duas planilhas em Python usando a API REST.

Baixe o arquivo resultante

Como resultado, o exemplo de código acima salvará um arquivo Excel recém-criado com comparação de planilha na nuvem. Ele pode ser baixado usando o seguinte exemplo de código:

# Este exemplo de código demonstra como baixar o arquivo do Excel da nuvem.
# Criar instância da API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# Solicitação de download de arquivo
request = groupdocs_comparison_cloud.DownloadFileRequest("result.xlsx", "")

# ⇬ Fazer download do arquivo
response = file_api.download_file(request)

# Mova o arquivo baixado para o seu diretório de trabalho
shutil.move(response, "C:\\Files\\comparison\\")  

Comparar vários arquivos do Excel em Python

Também podemos comparar planilhas do Excel em busca de diferenças seguindo as etapas abaixo:

  • Em primeiro lugar, crie uma instância do CompareApi.
  • Em seguida, defina o caminho do arquivo XLSX da fonte de entrada.
  • Em seguida, defina vários caminhos de arquivo XLSX de destino.
  • Em seguida, inicialize o objeto ComparisonOptions e atribua os arquivos de origem e destino.
  • Em seguida, defina o caminho do arquivo de saída.
  • Depois disso, crie o ComparisonsRequest com ComparisonOptions como argumento.
  • Por fim, compare planilhas do Excel on-line e obtenha resultados usando o método comparisons().

O exemplo de código a seguir mostra como comparar vários arquivos do Excel usando uma API REST em Python.

# Este exemplo de código demonstra como comparar vários arquivos do Excel.
# Crie instâncias de API necessárias
api_instance = groupdocs_comparison_cloud.CompararApi.from_keys(client_id, client_secret)

# Arquivo de origem de entrada
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.xlsx"

# Insira o arquivo de destino 1
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.xlsx"

# Insira o arquivo de destino 2
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.xlsx"

# Definir opções de comparação
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "result_multiple.xlsx"

# Pedido de comparação
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# Comparar
response = api_instance.comparisons(request)

Obter lista de alterações em Python

Podemos obter uma lista de todas as alterações e comparar dados em planilhas do Excel encontradas durante a comparação de arquivos do Excel seguindo as etapas abaixo:

  • Em primeiro lugar, crie uma instância do CompareApi.
  • Em seguida, defina o caminho do arquivo XLSX da fonte de entrada.
  • Em seguida, defina o caminho do arquivo XLSX de destino.
  • Em seguida, inicialize o objeto ComparisonOptions.
  • Em seguida, atribua arquivos de origem/destino e defina o caminho do arquivo de saída.
  • Depois disso, crie o PostChangesRequest com o objeto ComparisonOptions como argumento.
  • Por fim, obtenha os resultados chamando o método postChanges().

O exemplo de código a seguir mostra como comparar dados em duas planilhas do Excel para correspondências usando a API REST em Python.

# Este exemplo de código demonstra como obter uma lista de alterações encontradas durante a comparação.
# Crie instâncias de API necessárias
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Arquivo de origem de entrada
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.xlsx"

# Arquivo de destino de entrada
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.xlsx"

# Definir opções de comparação
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]

# Criar solicitação de alterações de postagem
request = groupdocs_comparison_cloud.PostChangesRequest(options)

# postar mudanças
response = api_instance.post_changes(request)

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

Experimente on-line

Como comparar dados de duas planilhas do Excel? Por favor, tente a seguinte ferramenta online gratuita de comparação XLSX para comparar duas planilhas do Excel para dados correspondentes. Esta ferramenta de comparação do Excel compara 2 planilhas do Excel online e é desenvolvida usando a API acima.

Conclusão

Neste artigo, aprendemos como:

  • compare duas planilhas do Excel e destaque as diferenças no Python;
  • obter uma lista de itens inseridos e excluídos;
  • carregar programaticamente mais de um arquivo XLSX para a nuvem;
  • baixe o arquivo XLSX da nuvem.

Além disso, você pode aprender mais sobre GroupDocs.Comparison Cloud API usando a documentação. Também fornecemos uma seção Referência de API que permite visualizar e interagir com nossas APIs diretamente pelo navegador. Em caso de ambiguidade sobre como comparar planilhas do Excel, sinta-se à vontade para nos contatar no fórum.

Veja também