Ngày nay, bạn có thể chọn trong số rất nhiều giải pháp báo cáo và BI như SAP Crystal Reports, Microsoft Power BI, Tableau hoặc QlikView. Tuy nhiên, chúng đắt tiền, đi kèm với đường cong học tập dốc và do đó thường được xử lý bởi một nhóm chuyên dụng
Bằng cách sử dụng Báo cáo xlwings làm công cụ báo cáo của bạn, người dùng doanh nghiệp có thể thiết kế và duy trì báo cáo của riêng họ trực tiếp trong Excel mà không phụ thuộc vào nhóm báo cáo chuyên dụng hoặc lập trình viên Python
Nếu bạn cần cung cấp dữ liệu đằng sau báo cáo, nó đã có sẵn rồi - không cần nhấp vào “nút Xuất sang Excel” trong hệ thống BI yêu thích của bạn
Các báo cáo mẫu sau đều được tạo từ cùng một mẫu. Quỹ A, Quỹ B, Quỹ C. Bạn muốn xem mẫu và mã Python?
Nhập dư liệu. Nó chậm. Nó thật nhàm chán. Nó dễ bị lỗi của con người. Nó dựa trên quy tắc và lặp đi lặp lại. Nó đã chín muồi để tự động hóa
Việc điền vào các trường của mẫu PDF với dữ liệu được tìm thấy trong bảng tính excel là một nhiệm vụ phổ biến và là nhiệm vụ khiến con người mất một thời gian để hoàn thành. Trong chưa đầy 100 dòng mã python, bạn có thể tự động hóa quy trình này. Sau khi thiết lập, thiết bị này có thể tạo ra 2971 bản sao mỗi phút¹. Và điều đó không có bất kỳ giờ giải lao nào
Bắt đầu
Bạn sẽ cần cài đặt Adobe Reader để tạo mẫu PDF có các trường được gắn nhãn nhưng không bắt buộc nếu bạn có sẵn mẫu hoặc chỉ muốn chạy ví dụ này; . Bạn chỉ cần cài đặt python 3
và hai thư viện. pandas
và PyPDF2
. Bạn có thể cài đặt chúng bằng cách nhập các lệnh bên dưới vào dấu nhắc lệnh của bạn
pip install pandas
pip install PyPDF2
Điều này sẽ cho phép bạn nhập các mô-đun này vào trình thông dịch Python với các dòng bên dưới
import pandas as pd
import PyPDF2
Tập lệnh mẫuTrong ví dụ này, chúng tôi có nhiệm vụ hoàn toàn nhàm chán là điền vào biểu mẫu Giảm thuế doanh nghiệp EIS3 với dữ liệu được tìm thấy trong tệp csv. Trong ví dụ có thể tải xuống, bạn sẽ thấy chính tập lệnh đó và hai thư mục, “Vào” và “Ra”
- Root
- In Contains PDF template, .csv file with data to fill with
- Out The folder where the filled out templates are output to
pdf_processor.py The main script to execute
Đang chạy pdf_processor. py sẽ ngay lập tức cho bạn thấy nó hoạt động nhanh như thế nào. Gif dưới đây là tôi chạy ví dụ này
Các phần thích hợp của kịch bản dưới đây. Kịch bản đầy đủ, dài dòng hơn là những gì bạn sẽ cần điều chỉnh theo yêu cầu của mình [nhưng nó không phức tạp hơn những gì được thấy trong đoạn trích bên dưới]
Có ba biến bạn phải điều chỉnh để điền vào các tệp PDF này một cách hiệu quảcsv_filename
Tên tệp csv của bạn được tìm thấy trong thư mục “Trong”pdf_filename
Tên tệp của mẫu pdf của bạn được tìm thấy trong thư mục “Trong”field_dictionary_1
Từ điển chứa các cặp khóa/giá trị của tên trường của mẫu pdf và các giá trị bạn muốn nhập vào chúng
Tìm ra tên trường pdf để sử dụng trong field_dictionary_1
cũng đơn giản như kiểm tra giá trị của biến danh sách
import pandas as pd
import PyPDF2
0 [dòng 15] trong trình gỡ lỗi hoặc in nó ra bảng điều khiển và sử dụng các giá trị đó làm khóa từ điển. Chúng cũng sẽ giống với tên nhãn trường pdf trong mẫuCác giá trị cho những giá trị này được trích xuất từ csv. Ở đây chúng ta sẽ sử dụng tên cột trong. csv làm giá trị. Ví dụ: dòng 24
import pandas as pd
import PyPDF2
1 sẽ lấy giá trị hàng từ cột có tên 'AddressLine1'Cách các cột csv xếp hàng với mẫu pdf và đầu ra mẫu
Bạn sẽ cần một đối tượng từ điển riêng cho mỗi trang mà bạn muốn điền — trong ví dụ của chúng tôi, chỉ có trang 1 yêu cầu điền nên chúng tôi chỉ có một từ điển. Mặt khác, đây là tất cả những gì bạn cần làm để chạy nó - nó thực sự đơn giản như thế này
Cuối cùngTài liệu về PyPDF2 được tìm thấy tại đây nhưng đối với công việc này, bạn không cần nhiều chi tiết hơn. Bạn sẽ cần tham khảo nó nếu bạn đang cố gắng làm bất cứ điều gì phức tạp hơn một chút. https. //pythonhosted. org/PyPDF2/
Nếu bạn đang cố gắng làm cho điều này hoạt động cho trường hợp sử dụng của riêng mình và gặp phải bất kỳ sự cố nào — hãy liên hệ. Bạn có thể tìm thấy hồ sơ GitHub của tôi bên dưới. Khi tôi không lướt web hoặc chế tạo rô-bốt, có lẽ tôi đang mày mò trên máy tính của mình để tìm ra những cách mới để tự động hóa những thứ thực sự nhàm chán, vì vậy vui lòng liên hệ với tôi. https. //github. com/Hridai
[1] Máy tính xách tay Huawei Matebook D 14 rất trung bình của tôi tạo ra một bản sao PDF cứ sau ~0. 02 giây. Chỉ 2971 một phút