Порівняйте файли Excel за допомогою REST API у Python.

Порівняйте дані у файлах Excel за допомогою REST API у Python

Excel є одним із найпопулярніших і широко використовуваних програм для роботи з електронними таблицями. Це дозволяє організовувати, аналізувати, обчислювати та зберігати дані в табличній формі. Дуже поширеною вимогою є порівняння даних файлів xlsx двох різних файлів Excel або кількох версій одного файлу. Ми можемо легко порівняти дві електронні таблиці або більше файлів Excel, щоб відстежувати зміни та виділяти відмінності в новому файлі. У цій статті ми дізнаємося, як порівнювати файли Excel за допомогою REST API у Python.

Для порівняння електронної таблиці в цій статті необхідно розглянути такі теми:

REST API та Python SDK для порівняння файлів Excel

Для порівняння двох або більше файлів XLSX ми будемо використовувати Python SDK GroupDocs.Comparison Cloud API. Це дозволяє порівнювати ‎два або більше документів підтримуваних форматів і висвітлювати відмінності в отриманому файлі. Встановіть його за допомогою такої команди в консолі:

pip install groupdocs-comparison-cloud

Будь ласка, отримайте свій ідентифікатор клієнта та секрет із інформаційної панелі, перш ніж виконувати вказані дії. Отримавши ідентифікатор і секрет, додайте код, як показано нижче:

# Цей приклад коду демонструє, як додати ідентифікатор клієнта та секрет у код.
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 = ""

Порівняйте два файли Excel за допомогою Python

Ми можемо порівняти два файли Excel у python у хмарі, виконавши прості кроки, наведені нижче:

  1. Завантажте файли XLSX у хмару.
  2. Порівняти завантажені файли Excel.
  3. Завантажити отриманий файл.

Завантажте файли Excel

По-перше, ми завантажимо вихідний і цільовий файли 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 будуть доступні в розділі файлів інформаційної панелі в хмарі.

Порівняйте файли Excel на відмінності в Python

Тепер ми порівняємо завантажені файли Excel програмним шляхом, виконавши наведені нижче дії.

  • По-перше, створіть екземпляр CompareApi.
  • Далі встановіть шляхи до завантаженого вихідного та цільового вхідного файлу XLSX.
  • Потім ініціалізуйте об’єкт ComparisonOptions і призначте вихідний і цільовий файли.
  • Далі встановіть шлях до вихідного файлу.
  • Після цього створіть ComparisonsRequest із ComparisonOptions як аргумент.
  • Нарешті, порівняйте документи Excel і отримуйте результати за допомогою методу comparisons().

У наведеному нижче прикладі коду показано, як порівнювати таблиці Excel онлайн за допомогою REST API у Python.

# Цей приклад коду демонструє, як порівняти два файли 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.

Порівняйте 2 файли Excel за допомогою REST API у Python.

Excel порівнює два аркуші в Python за допомогою REST API.

Завантажте отриманий файл

У результаті наведений вище зразок коду збереже щойно створений файл 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\\")  

Порівняйте декілька файлів Excel у Python

Ми також можемо порівняти таблиці Excel на відмінності, дотримуючись наведених нижче кроків:

  • По-перше, створіть екземпляр CompareApi.
  • Далі встановіть шлях до файлу джерела вхідних даних XLSX.
  • Потім встановіть кілька шляхів цільового файлу XLSX.
  • Далі ініціалізуйте об’єкт ComparisonOptions і призначте вихідний і цільовий файли.
  • Потім встановіть вихідний шлях до файлу.
  • Після цього створіть ComparisonsRequest із ComparisonOptions як аргумент.
  • Нарешті, порівняйте таблиці Excel онлайн і отримуйте результати за допомогою методу comparisons().

У наведеному нижче прикладі коду показано, як порівняти кілька файлів Excel за допомогою REST API у Python.

# Цей приклад коду демонструє, як порівняти кілька файлів 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.
  • Потім призначте вихідні/цільові файли та встановіть шлях до вихідного файлу.
  • Після цього створіть PostChangesRequest з об’єктом ComparisonOptions як аргументом.
  • Нарешті, отримайте результати, викликавши метод postChanges().

Наведений нижче зразок коду показує, як порівнювати дані у двох аркушах Excel на відповідності за допомогою REST API у Python.

# Цей приклад коду демонструє, як отримати список змін, знайдених під час порівняння.
# Створіть необхідні екземпляри 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 Reference, який дозволяє візуалізувати наші API та взаємодіяти з ними безпосередньо через браузер. У разі будь-якої неясності щодо порівняння електронних таблиць Excel, зв’яжіться з нами на форумі.

Дивись також