Làm cách nào để đọc tệp excel có tên trang tính trong pandas?
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 trang tính và tải chúng vào Python bằng Pandas cho nhiều tác vụ khác nhau. Tôi thấy quy trình này khá rườm rà, cho đến khi một đồng nghiệp (cảm ơn Gab Lin. ) đã dạy tôi một thủ thuật đơn giản mà từ đó cho phép tôi thực hiện nhiệm vụ này một cách trực quan 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 đi vào mấu chốt, trước tiên chúng ta hãy xem tệp Excel sau đây mà tôi đã tạo và sẽ sử dụng để minh họa Tệp Excel có nhiều trang 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 trang tính lại với nhau thành một Khung dữ liệu Pandas 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 số vấn đề với cách tiếp cận này
Bây giờ, để giải quyết những vấn đề này, đây là mẹo — chỉ cần chỉ định đối số import pandas as pdwriter = pd.ExcelWriter('demo.xlsx', engine='xlsxwriter')writer.close()1 trong hàm pd.read_excel() . Vâng, đơn giản như vậy. Hãy xem qua điều nàyBằng cách chỉ định import pandas as pdwriter = pd.ExcelWriter('demo.xlsx', engine='xlsxwriter')writer.close()3 trong hàm pd.read_excel() , bạn sẽ có được một từ điển Pandas DataFrames, trong đó các khóa là tên của các trang tính và các giá trị là dữ liệu trong mỗi trang tính dưới dạng Pandas DataFramesHì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 trang tính cụ thể — chẳng hạn như từ trang tính “Tháng hai”, bạn chỉ cần thực hiện điều này Hình ảnh của tác giảLưu ý rằng điều này trả về một đối tượng Pandas DataFrame Hoặc nếu bạn muốn kết hợp dữ liệu trên nhiều trang tính, bạn có thể thực hiện việc này Hình ảnh của tác giảỞ đây, chúng tôi chỉ định 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 lại để tham khảo sau này Hình ảnh của Tác giả sử dụng CarbonBây giờ, bạn có ít dòng mã hơn, đồng nghĩa với việc mã hiệu quả hơn và dễ đọc hơn Trước khi tôi kết luận, hãy lưu ý sự khác biệt nhỏ này trong hàm
Vậy là bạn đã có nó — một thủ thuật đơn giản để tải các tệp Excel có nhiều trang tính bằng Pandas. Tùy thuộc vào trường hợp sử dụng của bạn và loại tệp Excel mà bạn đang làm việc, cách tiếp cận này có thể tốt hơn hoặc không tốt hơn cách bạn đã quen thực hiện tác 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ỏ thủ thuật tinh tế, ít được biết đến này và cung cấp cho bạn một phương pháp thay thế 👇️Bức ảnh này tóm tắt cảm giác của tôi sau khi đồng nghiệp của tôi dạy mẹo này cho tôi, vì vậy nếu bạn thấy nó cũng hữu ích, vui lòng cho tôi biết ý kiến của bạn trong phần nhận xét Đó là nó. Cảm ơn vì đã đọc
|