Như đã đề cập trong các bình luận, một lỗi bạn đang mắc phải là bạn đang lặp qua một danh sách trống. Show
Đây là cách tôi sẽ làm điều đó, sử dụng một ví dụ về có 5 tệp Excel giống hệt nhau được thêm vào từng tệp khác. (1) Nhập khẩu:
(2) Tệp danh sách:
Output:
(3) Chọn các tệp 'XLS':
Output:
(4) Khởi tạo DataFrame trống:
(5) Vòng lặp qua danh sách các tệp để nối với DataFrame trống:
(6) Tận hưởng DataFrame mới của bạn. :-)
Output: Đúng, đơn giản như vậy! Hãy đi qua điều này. Bằng cách chỉ định trang_name = không có trong pd. hàm read_excel (), bạn nhận được một từ điển của các khung dữ liệu gấu trúc, trong đó các khóa là tên của bảng tính và các giá trị là dữ liệu trong mỗi bảng tính là các khung dữ liệu gấu trúc.Python có thể đọc các tệp XLSX không?OpenPyXL là một thư viện Python được tạo để đọc và viết các tệp Excel 2010 XLSX/XLSM/XLTX/XLTM. Nó có thể đọc cả hai. XLSX và. Các định dạng tệp XLSM, bao gồm hỗ trợ biểu đồ, biểu đồ và trực quan hóa dữ liệu khác.Trong công việc hàng ngày của mình, tôi làm việc với các tệp Excel khá nhiều-lấy các tệp Excel, hầu hết chứa nhiều bảng tính và tải chúng vào Python bằng cách sử dụng gấu trúc cho nhiều nhiệm vụ. Tôi thấy quá trình này khá cồng kềnh, cho đến khi một đồng nghiệp đồng nghiệp (cảm ơn Gab Lin!) Đã dạy tôi một mẹo đơn giản mà từ đó cho phép tôi thực hiện nhiệm vụ này bằng trực giác và hiệu quả hơn. Cho phép tôi trả nó về phía trước trong bài viết này! 🙂 Các mã được trình bày trong bài viết này có thể được tìm thấy tại repo GitHub này. Dữ liệuTrước khi đến mấu chốt, trước tiên hãy nhìn vào tệp Excel sau mà tôi đã tạo và sẽ sử dụng để minh họa. Tệp Excel với nhiều bảng tính (GIF của tác giả)Nó chứa dữ liệu bán hàng hư cấu (và rất đơn giản) trong ba tháng liên tiếp - từ tháng 1 đến tháng 3. Dữ liệu bán hàng cho mỗi tháng được hiển thị trong các bảng tính riêng biệt. Những gì tôi đã làm trước đây và những hạn chế của nóGiả sử mục tiêu của tôi là kết hợp dữ liệu từ tất cả các bảng tính với nhau thành một khung dữ liệu gấu trúc duy nhất. Để đạt được nhiệm vụ này, tôi đã từng làm như sau:
Mã của tôi sẽ trông giống như thế này: Hình ảnh của tác giảNhư bạn có thể tưởng tượng, có một vài vấn đề với phương pháp này:
Bí quyếtBây giờ, để giải quyết các vấn đề này, ở đây, thủ thuật - chỉ cần chỉ định đối số 2 là 5 trong hàm 3. Đúng, đơn giản như vậy! Hãy để đi bộ qua điều này.Bằng cách chỉ định 7 trong hàm 3, bạn sẽ nhận được từ điển của các khung dữ liệu gấu trúc, trong đó các khóa là tên của bảng tính và các giá trị là dữ liệu trong mỗi bảng tính là DataFrames.Hình ảnh của tác giảBây giờ, nếu bạn muốn phân tích dữ liệu từ một bảng tính cụ thể - giả sử, từ bảng tính của tháng hai, bạn có thể chỉ cần làm điều này: Hình ảnh của tác giảBây giờ, nếu bạn muốn phân tích dữ liệu từ một bảng tính cụ thể - giả sử, từ bảng tính của tháng hai, bạn có thể chỉ cần làm điều này: Lưu ý rằng điều này trả về một đối tượng DataFrame của gấu trúc. Hình ảnh của tác giảBây giờ, nếu bạn muốn phân tích dữ liệu từ một bảng tính cụ thể - giả sử, từ bảng tính của tháng hai, bạn có thể chỉ cần làm điều này: TL;DRLưu ý rằng điều này trả về một đối tượng DataFrame của gấu trúc. Hoặc nếu bạn muốn kết hợp dữ liệu trên nhiều bảng tính, bạn có thể làm điều này: Ở đây, chúng tôi chỉ định 9 trong 0 để các chỉ số của DataFrame kết quả chạy theo trình tự.Tóm lại, đoạn mã đầy đủ sẽ trông như thế này: Hoặc ở định dạng mà bạn có thể tải xuống và lưu để tham khảo trong tương lai:
Trước khi tôi kết luận, hãy lưu ý về sự khác biệt nhỏ này trong hàm path = os.getcwd() files = os.listdir(path) files 3:Đối với phiên bản Pandas, ≥ 0,21.0: 2Cho phiên bản Pandas, <0,21.0: 3Sự kết luậnVì vậy, bạn có nó - một mẹo đơn giản để tải các tệp Excel với nhiều bảng tính bằng gấu trúc! Tùy thuộc vào trường hợp sử dụng của bạn và loại tệp Excel bạn đang làm việc, phương pháp này có thể hoặc không tốt hơn cách bạn quen làm nhiệm vụ này. Tuy nhiên, tôi hy vọng bài viết này sẽ giúp làm sáng tỏ mẹo tinh tế, ít được biết đến này và cung cấp cho bạn một phương pháp thay thế.
Làm thế nào đọc nhiều tệp excel trong Python?Approach:.. Nhập các gói Python cần thiết như Gandas, Glob và OS .. Sử dụng gói Glob Python để truy xuất các tệp/tên đường dẫn khớp với một mẫu được chỉ định, tức là '. xlsx '. Vòng lặp qua danh sách các tệp excel, đọc tệp đó bằng gấu trúc. .... Chuyển đổi từng tệp Excel thành DataFrame .. Hiển thị vị trí, tên và nội dung của nó .. Làm cách nào để chuyển đổi nhiều tệp Excel thành CSV trong Python?Đọc nội dung tệp excel đã cho bằng hàm pandas read_excel () (đọc một đối tượng tệp excel vào đối tượng khung dữ liệu). Chuyển đổi tệp excel thành tệp CSV bằng hàm TO_CSV () (chuyển đổi đối tượng thành tệp CSV) bằng cách chuyển tên tệp Excel đầu ra, INDEX là không có và tiêu đề đúng như các đối số.Convert the excel file into a CSV file using the to_csv() function(converts object into a CSV file) by passing the output excel file name, index as None, and header as true as arguments.
Pandas có thể đọc nhiều tấm excel không?Đúng, đơn giản như vậy!Hãy đi qua điều này.Bằng cách chỉ định trang_name = không có trong pd.hàm read_excel (), bạn nhận được một từ điển của các khung dữ liệu gấu trúc, trong đó các khóa là tên của bảng tính và các giá trị là dữ liệu trong mỗi bảng tính là các khung dữ liệu gấu trúc.
Python có thể đọc các tệp XLSX không?OpenPyXL là một thư viện Python được tạo để đọc và viết các tệp Excel 2010 XLSX/XLSM/XLTX/XLTM.Nó có thể đọc cả hai.XLSX và.Các định dạng tệp XLSM, bao gồm hỗ trợ biểu đồ, biểu đồ và trực quan hóa dữ liệu khác.. It can read both the . xlsx and . xlsm file formats, which includes support for charts, graphs, and other data visualizations. |