So sánh các tệp Excel bằng API REST trong Python.

So sánh dữ liệu trong tệp Excel bằng API REST trong Python

Excel là một trong những ứng dụng bảng tính phổ biến và được sử dụng rộng rãi nhất. Nó cho phép tổ chức, phân tích, tính toán và lưu trữ dữ liệu ở dạng bảng. Yêu cầu rất phổ biến là so sánh dữ liệu tệp xlsx của hai tệp Excel khác nhau hoặc nhiều phiên bản của cùng một tệp. Chúng ta có thể dễ dàng so sánh hai bảng tính hoặc nhiều tệp Excel để theo dõi các thay đổi và đánh dấu sự khác biệt trong một tệp mới. Trong bài viết này, chúng ta sẽ tìm hiểu cách so sánh các tệp Excel bằng API REST trong Python.

Các chủ đề sau đây sẽ được đề cập để so sánh bảng tính trong bài viết này:

API REST và Python SDK để so sánh các tệp Excel

Để so sánh hai hoặc nhiều tệp XLSX, chúng tôi sẽ sử dụng API Python SDK của GroupDocs.Comparison Cloud. Nó cho phép so sánh ‎hai hoặc nhiều tài liệu của các định dạng được hỗ trợ và làm nổi bật sự khác biệt trong tệp kết quả. Vui lòng cài đặt nó bằng lệnh sau trong bảng điều khiển:

pip install groupdocs-comparison-cloud

Vui lòng lấy Client ID và Secret của bạn từ bảng điều khiển trước khi làm theo các bước được đề cập. Khi bạn có ID và bí mật của mình, hãy thêm mã như hình bên dưới:

# Ví dụ mã này trình bày cách thêm Id khách hàng của bạn và bí mật trong mã.
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 = ""

So sánh hai tệp Excel bằng Python

Chúng ta có thể so sánh hai tệp Excel trong python trên đám mây bằng cách thực hiện theo các bước đơn giản dưới đây:

  1. Tải lên tệp XLSX lên đám mây.
  2. [So sánh các tệp Excel đã tải lên.](#So sánh các tệp Excel-đối với sự khác biệt trong Python)
  3. Tải xuống tệp kết quả.

Tải lên tệp Excel

Đầu tiên, chúng tôi sẽ tải các tệp XLSX nguồn và đích lên đám mây bằng cách sử dụng mẫu mã sau:

# Ví dụ mã này trình bày cách tải nhiều tệp Excel lên đám mây.
# Tạo phiên bản của API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# Tải lên các tệp mẫu
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)

Do đó, các tệp Excel đã tải lên sẽ có sẵn trong phần tệp của trang tổng quan trên đám mây.

So sánh các tệp Excel để biết sự khác biệt trong Python

Bây giờ, chúng ta sẽ so sánh các tệp Excel đã tải lên theo chương trình bằng cách thực hiện theo các bước dưới đây:

  • Đầu tiên, tạo một phiên bản của So sánhApi.
  • Tiếp theo, đặt đường dẫn tệp đầu vào XLSX nguồn và đích đã tải lên.
  • Sau đó, khởi tạo đối tượng ComparisonOptions và gán tệp nguồn và tệp đích.
  • Tiếp theo, đặt đường dẫn tệp đầu ra.
  • Sau đó, tạo ComparisonsRequest với ComparisonOptions làm đối số.
  • Cuối cùng, so sánh các tài liệu excel và nhận kết quả bằng phương pháp so sánh().

Mẫu mã sau đây cho biết cách so sánh các trang excel trực tuyến bằng API REST trong Python.

# Ví dụ mã này trình bày cách so sánh hai tệp Excel.
# Tạo các phiên bản API cần thiết
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Tệp nguồn đầu vào
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.xlsx"

# Nhập tệp mục tiêu
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.xlsx"

# Xác định các tùy chọn so sánh
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]
options.output_path = "result.xlsx"

# Tạo yêu cầu so sánh
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# so sánh
response = api_instance.comparisons(request)
Cách so sánh dữ liệu trong excel và so sánh nhiều file excel

Tệp Excel nguồn và đích.

So sánh 2 tệp Excel bằng API REST trong Python.

Excel so sánh hai trang tính trong Python bằng API REST.

Tải xuống tệp kết quả

Do đó, mẫu mã trên sẽ lưu một tệp Excel mới tạo với bảng tính so sánh trên đám mây. Nó có thể được tải xuống bằng cách sử dụng mẫu mã sau:

# Ví dụ mã này trình bày cách tải xuống tệp Excel từ đám mây.
# Tạo phiên bản của API
file_api = groupdocs_comparison_cloud.FileApi.from_config(configuration)

# Yêu cầu tệp tải xuống
request = groupdocs_comparison_cloud.DownloadFileRequest("result.xlsx", "")

# Tải tập tin
response = file_api.download_file(request)

# Di chuyển tệp đã tải xuống vào thư mục làm việc của bạn
shutil.move(response, "C:\\Files\\comparison\\")  

So sánh nhiều tệp Excel trong Python

Chúng tôi cũng có thể so sánh các bảng excel để tìm sự khác biệt bằng cách làm theo các bước dưới đây:

  • Đầu tiên, tạo một phiên bản của So sánhApi.
  • Tiếp theo, đặt đường dẫn tệp XLSX nguồn đầu vào.
  • Sau đó, đặt nhiều đường dẫn tệp XLSX đích.
  • Tiếp theo, khởi tạo đối tượng ComparisonOptions và gán tệp nguồn và tệp đích.
  • Sau đó, đặt đường dẫn tệp đầu ra.
  • Sau đó, tạo ComparisonsRequest với ComparisonOptions làm đối số.
  • Cuối cùng, bảng excel so sánh trực tuyến và nhận kết quả bằng phương pháp so sánh().

Mẫu mã sau đây cho biết cách so sánh nhiều tệp Excel bằng API REST trong Python.

# Ví dụ mã này trình bày cách so sánh nhiều tệp Excel.
# Tạo các phiên bản API cần thiết
api_instance = groupdocs_comparison_cloud.So sánhApi.from_keys(client_id, client_secret)

# Tệp nguồn đầu vào
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.xlsx"

# Nhập mục tiêu 1 tệp
target1 = groupdocs_comparison_cloud.FileInfo()
target1.file_path = "target.xlsx"

# Nhập tệp mục tiêu 2
target2 = groupdocs_comparison_cloud.FileInfo()
target2.file_path = "target2.xlsx"

# Xác định các tùy chọn so sánh
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target1, target2]
options.output_path = "result_multiple.xlsx"

# yêu cầu so sánh
request = groupdocs_comparison_cloud.ComparisonsRequest(options)

# So sánh
response = api_instance.comparisons(request)

Nhận danh sách các thay đổi trong Python

Chúng tôi có thể nhận danh sách tất cả các thay đổi và so sánh dữ liệu trong các trang tính excel được tìm thấy trong quá trình so sánh các tệp Excel bằng cách thực hiện theo các bước được đưa ra dưới đây:

  • Đầu tiên, tạo một phiên bản của So sánhApi.
  • Tiếp theo, đặt đường dẫn tệp XLSX nguồn đầu vào.
  • Sau đó, đặt đường dẫn tệp XLSX đích.
  • Tiếp theo, Khởi tạo đối tượng ComparisonOptions.
  • Sau đó, chỉ định tệp nguồn/đích và đặt đường dẫn tệp đầu ra.
  • Sau đó, tạo đối tượng PostChangesRequest với ComparisonOptions làm đối số.
  • Cuối cùng, nhận kết quả bằng cách gọi phương thức postChanges().

Mẫu mã sau đây cho biết cách so sánh dữ liệu trong hai trang tính excel để tìm các kết quả khớp bằng API REST trong Python.

# Ví dụ mã này trình bày cách nhận danh sách các thay đổi được tìm thấy trong quá trình so sánh.
# Tạo các phiên bản API cần thiết
api_instance = groupdocs_comparison_cloud.CompareApi.from_keys(client_id, client_secret)

# Tệp nguồn đầu vào
source = groupdocs_comparison_cloud.FileInfo()
source.file_path = "source.xlsx"

# Nhập tệp mục tiêu
target = groupdocs_comparison_cloud.FileInfo()
target.file_path = "target.xlsx"

# Xác định các tùy chọn so sánh
options = groupdocs_comparison_cloud.ComparisonOptions()
options.source_file = source
options.target_files = [target]

# Tạo yêu cầu thay đổi bài viết
request = groupdocs_comparison_cloud.PostChangesRequest(options)

# bài thay đổi
response = api_instance.post_changes(request)

# Trình diễn
for change in response:
  print("Change # " + str(change.id + 1) + "- Target Text: " + str(change.target_text) + ", Text: " + str(change.text) + ", Type: " + str(change.type));

Thử trực tuyến

Làm cách nào để so sánh dữ liệu từ hai trang excel? Vui lòng thử công cụ so sánh XLSX trực tuyến miễn phí sau đây để so sánh hai trang tính excel để tìm dữ liệu khớp. Công cụ so sánh excel này so sánh 2 trang tính excel trực tuyến và được phát triển bằng API trên.

Phần kết luận

Trong bài viết này, chúng ta đã học cách:

  • so sánh hai trang excel và nêu bật sự khác biệt trong Python;
  • lấy danh sách các mục đã chèn và đã xóa;
  • tải nhiều tệp XLSX lên đám mây theo chương trình;
  • tải xuống tệp XLSX từ đám mây.

Ngoài ra, bạn có thể tìm hiểu thêm về GroupDocs.Comparison Cloud API bằng cách sử dụng tài liệu. Chúng tôi cũng cung cấp phần Tham khảo API cho phép bạn hình dung và tương tác trực tiếp với các API của chúng tôi thông qua trình duyệt. Trong trường hợp có bất kỳ sự mơ hồ nào về cách so sánh các bảng tính excel, vui lòng liên hệ với chúng tôi trên diễn đàn.

Xem thêm