Excel является одним из самых популярных и широко используемых приложений для работы с электронными таблицами. Он позволяет организовывать, анализировать, вычислять и хранить данные в табличной форме. Очень распространено требование сравнивать данные файлов xlsx из двух разных файлов Excel или нескольких версий одного и того же файла. Мы можем легко сравнить две электронные таблицы или несколько файлов Excel, чтобы отслеживать изменения и выделять различия в новом файле. В этой статье мы узнаем, как сравнивать файлы Excel с помощью REST API в Python.
Следующие темы должны быть рассмотрены для сравнения электронных таблиц в этой статье:
- REST API и Python SDK для сравнения файлов Excel
- Сравните два файла Excel с помощью Python
- Сравните несколько файлов Excel в Python
- Получить список изменений в Python
REST API и Python SDK для сравнения файлов Excel
Для сравнения двух или более файлов XLSX мы будем использовать API Python SDK of GroupDocs.Comparison Cloud. Это позволяет сравнить два или более документа поддерживаемых форматов и выделить различия в результирующем файле. Пожалуйста, установите его с помощью следующей команды в консоли:
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 в облаке, выполнив простые шаги, указанные ниже:
- Загрузить файлы XLSX в облако.
- Сравнить загруженные файлы Excel.
- Скачать результирующий файл.
Загрузите файлы 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 из облака.
# Создать экземпляр 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, который позволяет визуализировать наши API и взаимодействовать с ними непосредственно через браузер. В случае каких-либо неясностей относительно того, как сравнивать электронные таблицы Excel, свяжитесь с нами на форуме.