Bạn có thể sử dụng tệp excel trong python không?
Trang web này chứa các gợi ý đến thông tin tốt nhất hiện có về cách làm việc với các tệp Excel bằng ngôn ngữ lập trình Python Show
Đọc và ghi tệp ExcelCó sẵn các gói python để hoạt động với các tệp Excel sẽ chạy trên bất kỳ nền tảng Python nào và không yêu cầu sử dụng Windows hoặc Excel. Chúng nhanh, đáng tin cậy và mã nguồn mở openpyxlGói khuyến nghị để đọc và ghi tệp Excel 2010 (ví dụ:. . xlsx) Tải xuống. Tài liệu. Cai Xô nhỏ xlsxwriterMột gói thay thế để ghi dữ liệu, định dạng thông tin và đặc biệt là biểu đồ ở định dạng Excel 2010 (tức là. . xlsx) Tải xuống. Tài liệu. GitHub pyxlsbGói này cho phép bạn đọc các tệp Excel ở định dạng Tải xuống. GitHub pylightxlGói này cho phép bạn đọc các tệp start = time.time()0 và start = time.time()1 và ghi các tệp start = time.time()0 Tải xuống. Tài liệu. GitHub xlrdGói này dùng để đọc dữ liệu và định dạng thông tin từ các tệp Excel cũ hơn (tức là. . xls) Tải xuống. Tài liệu. GitHub xlwtGói này dùng để ghi dữ liệu và định dạng thông tin vào các tệp Excel cũ hơn (tức là. . xls) Tải xuống. Tài liệu. ví dụ. GitHub xlutilsGói này tập hợp các tiện ích yêu cầu cả start = time.time()3 và start = time.time()4, bao gồm khả năng sao chép và sửa đổi hoặc lọc các tệp excel hiện có NB. Nói chung, các trường hợp sử dụng này hiện được bao phủ bởi openpyxl Tải xuống. Tài liệu. GitHub Viết Add-In ExcelCác sản phẩm sau có thể được sử dụng để viết phần bổ trợ Excel bằng Python. Không giống như các gói trình đọc và trình ghi, chúng yêu cầu cài đặt Microsoft Excel PyXLLPyXLL là một sản phẩm thương mại cho phép viết phần bổ trợ Excel bằng Python mà không cần VBA. Các hàm Python có thể được hiển thị dưới dạng các hàm trang tính (UDF), macro, menu và thanh công cụ ribbon Trang chủ. Đặc trưng. Tài liệu. Tải xuống xlwingsxlwings là một thư viện mã nguồn mở để tự động hóa Excel bằng Python thay vì VBA và hoạt động trên Windows và macOS. bạn có thể gọi Python từ Excel và ngược lại và viết UDF bằng Python (chỉ dành cho Windows). xlwings PRO là một tiện ích bổ sung thương mại với chức năng bổ sung Trang chủ. Tài liệu. GitHub. Tải xuống Danh sách gửi thư / Nhóm thảo luậnCó một Group của Google chuyên làm việc với file Excel bằng Python, bao gồm các thư viện liệt kê bên trên cùng thao tác với ứng dụng Excel qua COM Phát triển thương mạiCác công ty sau đây có thể cung cấp tư vấn và phát triển phần mềm thương mại và là chuyên gia làm việc với các tệp Excel bằng Python Trong bài viết này, tôi sẽ chỉ cho bạn 5 cách để tải dữ liệu trong Python. Đạt được tốc độ tăng 3 bậc độ lớnNguồn. https. //www. hà mã. com/, miền công cộngLà người dùng Python, tôi sử dụng tệp excel để tải/lưu trữ dữ liệu vì doanh nhân thích chia sẻ dữ liệu ở định dạng excel hoặc csv. Thật không may, Python đặc biệt chậm với các tệp Excel Trong bài viết này, tôi sẽ chỉ cho bạn 5 cách để tải dữ liệu trong Python. Cuối cùng, chúng ta sẽ đạt được mức tăng tốc 3 bậc độ lớn. Nó sẽ nhanh như chớp Thiết lập thử nghiệm Hãy tưởng tượng rằng chúng ta muốn tải 10 tệp Excel với 20000 hàng và 25 cột (tổng dung lượng khoảng 70MB). Đây là trường hợp điển hình khi bạn muốn tải dữ liệu giao dịch từ ERP (SAP) sang Python để thực hiện một số phân tích Hãy điền dữ liệu giả này và nhập các thư viện cần thiết (chúng ta sẽ thảo luận về dưa chua và joblib sau trong bài viết) import pandas as pd5 cách tải dữ liệu trong PythonIdea #1. Tải tệp Excel bằng Python Hãy bắt đầu với một cách đơn giản để tải các tệp này. Chúng tôi sẽ tạo một Khung dữ liệu Pandas đầu tiên và sau đó nối từng tệp Excel vào đó start = time.time()Một cách đơn giản để nhập tệp Excel trong Python Mất khoảng 50 giây để chạy. Khá chậm Ý tưởng số 2. Sử dụng CSV thay vì Tệp ExcelBây giờ hãy tưởng tượng rằng chúng tôi đã lưu các tệp này dưới dạng. csv (chứ không phải. xlsx) từ ERP/Hệ thống/SAP của chúng tôi start = time.time()Nhập tệp csv bằng Python nhanh hơn 100 lần so với tệp Excel Bây giờ chúng tôi có thể tải các tệp này trong 0. 63 giây. Nhanh hơn gần 10 lần Python tải tệp CSV nhanh hơn 100 lần so với tệp Excel. Sử dụng CSV Côn. tệp csv hầu như luôn lớn hơn. tập tin xlsx. trong ví dụ này. tệp csv là 9. 5MB, trong khi. xlsx là 6. 4MB Ý tưởng số 3. Tạo khung dữ liệu Pandas thông minh hơnChúng tôi có thể tăng tốc quá trình của mình bằng cách thay đổi cách chúng tôi tạo DataFrames cho gấu trúc của mình. Thay vì nối thêm từng tệp vào DataFrame hiện có,
start = time.time()Một cách thông minh hơn để nhập tệp csv trong Python Chúng tôi đã giảm thời gian xuống một vài phần trăm. Dựa trên kinh nghiệm của tôi, thủ thuật này sẽ trở nên hữu ích khi bạn xử lý các Dataframes lớn hơn (df >> 100MB) Ý tưởng số 4. Song song hóa Nhập CSV với JoblibChúng tôi muốn tải 10 tệp bằng Python. Thay vì tải từng tệp một, tại sao không tải tất cả chúng cùng một lúc, song song? Chúng tôi có thể làm điều này một cách dễ dàng bằng cách sử dụng joblib start = time.time()Nhập tệp CSV bằng Python song song bằng Joblib Nhanh gần gấp đôi so với phiên bản lõi đơn. Tuy nhiên, theo nguyên tắc chung, đừng mong đợi tăng tốc quy trình của bạn lên gấp tám lần bằng cách sử dụng 8 lõi (ở đây, tôi đã tăng tốc gấp 2 lần bằng cách sử dụng 8 lõi trên Mac Air sử dụng chip M1 mới) Song song hóa đơn giản trong Python với JoblibJoblib là một thư viện Python đơn giản cho phép bạn chạy một hàm trong //. Trong thực tế, joblib hoạt động như một danh sách hiểu. Ngoại trừ mỗi lần lặp lại được thực hiện bởi một luồng khác nhau. Đây là một ví dụ def loop(file_number):Hãy coi joblib như một cách hiểu danh sách thông minh. Ý tưởng số 5. Sử dụng tập tin Pickle Bạn có thể đi (nhiều) nhanh hơn bằng cách lưu trữ dữ liệu trong các tệp pickle — một định dạng cụ thể được Python sử dụng — thay vì. tệp csv Côn. bạn sẽ không thể mở tệp dưa chua theo cách thủ công và xem có gì trong đó start = time.time() Chúng tôi chỉ cắt giảm 80% thời gian chạy Nói chung, làm việc với tệp pickle nhanh hơn nhiều so với tệp csv. Tuy nhiên, mặt khác, các tệp dưa chua thường chiếm nhiều dung lượng hơn trên ổ đĩa của bạn (không phải trong ví dụ cụ thể này) Trong thực tế, bạn sẽ không thể trích xuất dữ liệu trực tiếp từ hệ thống trong các tệp pickle Tôi khuyên bạn nên sử dụng dưa chua trong hai trường hợp sau
Hãy tưởng tượng rằng bạn đã nhận được các tệp excel và bạn không có lựa chọn nào khác ngoài việc tải chúng như hiện trạng. Bạn cũng có thể sử dụng joblib để song song hóa việc này. So với mã dưa chua của chúng tôi ở trên, chúng tôi chỉ cần cập nhật chức năng vòng lặp start = time.time()Cách tải tệp excel bằng song song hóa trong Python Chúng tôi có thể giảm 70% thời gian tải (từ 50 giây xuống 13 giây) Bạn cũng có thể sử dụng vòng lặp này để tạo các tệp dưa chua một cách nhanh chóng. Vì vậy, lần tới khi bạn tải các tệp này, bạn sẽ có thể đạt được thời gian tải nhanh như chớp def loop(file_number): Tóm tắtBằng cách tải song song các tệp dưa chua, chúng tôi đã giảm thời gian tải từ 50 giây xuống dưới 1/10 giây
Joblib cho phép thay đổi chương trình phụ trợ song song hóa để loại bỏ một số chi phí. Bạn có thể thực hiện việc này bằng cách cung cấp cho Parallel=”threads" Sử dụngprefer=”threads” sẽ cho phép bạn chạy quy trình của mình nhanh hơn nữaChúng tôi thu được tốc độ khoảng 0. 0096 giây (hơn 50 lần chạy với MacBook Air 2021) Sử dụngprefer=”threads” với song song hóa CSV và Excel sẽ cho kết quả như sau Như bạn có thể thấy, việc sử dụng phụ trợ “Chủ đề” dẫn đến điểm kém hơn khi đọc các tệp Excel. Nhưng với hiệu suất đáng kinh ngạc với dưa chua (phải mất 50 giây để tải từng tệp Excel một và chỉ 0. 01 giây để tải dữ liệu đọc tệp dưa chua trong //) Python có thể làm việc với các tệp Excel không?Excel là ứng dụng bảng tính phổ biến và mạnh mẽ dành cho Windows. Mô-đun openpyxl cho phép các chương trình Python của bạn đọc và sửa đổi các tệp bảng tính Excel . Ví dụ: bạn có thể có nhiệm vụ nhàm chán là sao chép một số dữ liệu nhất định từ một bảng tính và dán nó vào một bảng tính khác.
Python có thể lấy dữ liệu từ Excel không?Còn rất nhiều điều bạn có thể làm với các tệp Excel trong chương trình Python của mình. Ví dụ: bạn có thể sửa đổi dữ liệu trong tệp Excel hiện có hoặc bạn có thể trích xuất dữ liệu mà bạn quan tâm và tạo một tệp Excel hoàn toàn mới. Để tìm hiểu thêm về những khả năng này, hãy xem tài liệu openpyxl
Bạn có thể nhập tệp XLSX bằng Python không?Dữ liệu có thể ở bất kỳ định dạng phổ biến nào - CSV, TXT, XLS/XLSX (Excel), sas7bdat (SAS), Stata, Rdata (R), v.v. . Tải dữ liệu trong môi trường python là bước đầu tiên nhất để phân tích dữ liệu. |