Openpyxl hợp nhất hai tệp excel
Lúc đầu, hãy đặt đường dẫn chứa tất cả các tệp excel bạn muốn hợp nhất. Lấy các tệp excel và đọc chúng bằng glob − Show
path = "C:\Users\amit_\Desktop\" filenames = glob.glob(path + "\*.xlsx") print('File names:', filenames) Tiếp theo, tạo một khung dữ liệu trống cho tệp excel đầu ra đã hợp nhất sẽ lấy dữ liệu từ hai tệp excel trên - outputxlsx = pd.DataFrame() Bây giờ, quá trình thực tế có thể được nhìn thấy tôi. e. lúc đầu, lặp lại các tệp excel bằng vòng lặp for. Đọc các tệp excel, nối chúng và nối thêm dữ liệu - for file in filenames: df = pd.concat(pd.read_excel(file, sheet_name=None), ignore_index=True, sort=False) outputxlsx = outputxlsx.append(df, ignore_index=True) Thí dụSau đây là mã - import pandas as pd import glob # getting excel files to be merged from the Desktop path = "C:\Users\amit_\Desktop\" # read all the files with extension .xlsx i.e. excel filenames = glob.glob(path + "\*.xlsx") print('File names:', filenames) # empty data frame for the new output excel file with the merged excel files outputxlsx = pd.DataFrame() # for loop to iterate all excel files for file in filenames: # using concat for excel files # after reading them with read_excel() df = pd.concat(pd.read_excel( file, sheet_name=None), ignore_index=True, sort=False) # appending data of excel files outputxlsx = outputxlsx.append( df, ignore_index=True) print('Final Excel sheet now generated at the same location:') outputxlsx.to_excel("C:/Users/amit_/Desktop/Output.xlsx", index=False) đầu raĐiều này sẽ tạo ra đầu ra sau i. e. , tệp excel đã hợp nhất sẽ được tạo tại cùng một vị trí - Trong hướng dẫn ngắn này, tôi sẽ chỉ cho bạn cách sử dụng Python để kết hợp nhiều tệp Excel thành một bảng tính chính. Hãy tưởng tượng rằng bạn có hàng chục tệp Excel với các trường dữ liệu giống nhau và công việc của bạn là tổng hợp các trang tính từ các tệp đó. Thực hiện công việc này theo cách thủ công là cực kỳ kém hiệu quả và Python sẽ giúp bạn tiết kiệm rất nhiều thời gian trong thời gian dài, vì vậy hãy để tất cả làm việc thông minh hơn Lưu ý rằng bài viết này nói về việc nối thêm các tệp Excel có cùng định dạng/trường dữ liệu. Hợp nhất nhiều tập dữ liệu là một nhiệm vụ khác Nếu bạn chưa quen với Python, loạt bài này Tích hợp Python với Excel sẽ cung cấp một số mẹo về cách sử dụng Python để nâng cấp bảng tính Excel của bạn quy trình làm việcĐể giải quyết vấn đề, chúng ta cần thực hiện theo quy trình công việc bên dưới
Nhập thư việnĐược rồi, hãy xem cách viết mã luồng công việc trên bằng Python. Đối với bài tập này, chúng ta sẽ cần sử dụng hai thư viện Python. Nếu bạn cần trợ giúp cài đặt Python hoặc thư viện, đây là hướng dẫn về cách thực hiện
Thư viện Chúng tôi sẽ bắt đầu bằng cách nhập hai thư viện này. Sau đó tìm thư mục làm việc hiện tại, cũng như tất cả các tên tệp trong thư mục Nhận thư mục làm việc hiện tại và các tệp trong đóBiến Kết hợp nhiều tệp Excel vào một bảng tínhTiếp theo, chúng tôi tạo một khung dữ liệu trống 0 để lưu trữ dữ liệu cho bảng tính chính. Chúng tôi lặp qua tất cả các tệp trong thư mục làm việc hiện tại, nhưng chỉ xử lý các tệp Excel có tên kết thúc bằng “. xlsx”. Điều này được thực hiện bởi dòng mã này 1 2 sẽ đọc dữ liệu Excel vào Python và lưu trữ dưới dạng đối tượng DataFrame của gấu trúc. Xin lưu ý rằng phương pháp này chỉ đọc tab/trang tính đầu tiên của tệp Excel theo mặc định. Nếu file Excel của bạn chứa nhiều hơn 1 sheet, hãy tiếp tục đọc phần tiếp theo 3 sẽ nối/kết hợp dữ liệu từ tệp này sang tệp khác. Hãy nghĩ về việc sao chép một khối dữ liệu từ một tệp Excel và dán nó vào một tệp khác. Thay vì mở Excel, dữ liệu được lưu trữ bên trong bộ nhớ máy tính của bạn
Đoạn mã trên thực hiện như sau
Chúng tôi có thể kiểm tra khung dữ liệu chính bằng cách kiểm tra df. head() , hiển thị 5 hàng đầu tiên của dữ liệu. Nhìn có vẻ tốt. Chỉ cần kiểm tra nhanh khác để đảm bảo chúng tôi đã tải mọi thứ trong DataFrame. 5 sẽ cho chúng ta thấy kích thước (36 hàng, 5 cột) của dữ liệuMọi thứ đều ổn, vì vậy hãy xuất dữ liệu trở lại Excel. Dòng cuối cùng 6 sẽ làm điều đóKết hợp nhiều trang tính từ cùng một tệp ExcelMình đã nói về 2 kỹ thuật đọc nhiều sheet trên cùng 1 file Excel rồi nên mình sẽ không nhắc lại. Tuy nhiên, tôi sẽ xem qua một ví dụ ở đây với cài đặt hơi khác Chúng tôi có 2 tệp, mỗi tệp chứa một số trang tính. Chúng tôi không biết có bao nhiêu trang tính trong mỗi tệp, nhưng chúng tôi biết định dạng giống nhau cho tất cả các trang tính. Mục tiêu của chúng tôi là tổng hợp tất cả các trang tính vào một bảng tính (và một tệp) Quy trình làm việc cũng tương tự
Để tất cả chúng cùng nhauDưới đây là mã đầy đủ được kết hợp với nhau. 10 dòng mã sẽ giúp bạn kết hợp tất cả các tệp hoặc trang tính Excel của mình thành một bảng tính chính. Vui thích Làm cách nào để kết hợp hai tệp Excel vào một sổ làm việc trong Python?Khoa học dữ liệu thực tế sử dụng Python
. Lưu ý - Bạn có thể cần cài đặt các gói openpyxl và xlrd. use the Glob module and the append() method. Note − You may need to install openpyxl and xlrd packages.
Làm cách nào để hợp nhất hai tệp Excel?Trên tab Dữ liệu, bên dưới Công cụ, bấm Hợp nhất. Trong hộp Hàm, hãy bấm vào hàm mà bạn muốn Excel sử dụng để hợp nhất dữ liệu. Trong mỗi trang nguồn, hãy chọn dữ liệu của bạn rồi bấm vào Thêm. Đường dẫn tệp được nhập trong Tất cả tài liệu tham khảo
Làm cách nào để kết hợp nhiều tệp Excel vào một VBA sổ làm việc Excel?Mở tệp Excel mà bạn muốn hợp nhất các trang tính từ các sổ làm việc khác và thực hiện các thao tác sau. . Nhấn Alt + F8 để mở hộp thoại Macro Bên dưới tên Macro, chọn MergeExcelFiles và bấm Chạy Cửa sổ Explorer tiêu chuẩn sẽ mở ra, bạn chọn một hoặc nhiều sổ làm việc muốn kết hợp và bấm Mở |