Chào mọi người trong diễn đàn Sheet & Excel,
Dạo này công việc của mình liên quan nhiều đến việc xử lý các file PDF báo cáo. Việc copy-paste từng bảng dữ liệu từ PDF sang Excel thủ công tốn rất nhiều thời gian và dễ sai sót. Mình tình cờ tìm hiểu và phát hiện ra Python có thể giúp tự động hóa việc này một cách hiệu quả.
Mình muốn chia sẻ với mọi người một giải pháp đơn giản để trích xuất dữ liệu từ các file PDF có cấu trúc bảng rõ ràng sang file Excel, sử dụng thư viện tabula-py. Đây là một thư viện mạnh mẽ, giúp đọc các bảng trong file PDF.
Các bước thực hiện cơ bản:
- Cài đặt thư viện:
pip install tabula-py pandas openpyxl - Viết đoạn code Python để chỉ định file PDF nguồn và file Excel đích.
- Sử dụng hàm
read_pdfcủatabula-pyđể đọc dữ liệu từ PDF. - Chuyển đổi dữ liệu đọc được sang DataFrame của Pandas.
- Lưu DataFrame đó vào file Excel bằng
to_excel.
Ví dụ code đơn giản:
import tabula
import pandas as pd
pdflist = tabula.read_pdf("input.pdf", pages='all', multiple_tables=True)
# Nếu có nhiều bảng, ta cần gom lại hoặc xử lý từng bảng
# Ở đây mình giả định chỉ có 1 bảng chính cần lấy
if pdflist:
df = pdflist[0]
df.to_excel("output.xlsx", index=False)
print("Đã xuất dữ liệu thành công!")
else:
print("Không tìm thấy bảng nào trong file PDF.")
Cách này rất hữu ích cho các bạn thường xuyên phải làm việc với báo cáo dạng PDF. Mặc dù có thể cần tinh chỉnh một chút tùy thuộc vào cấu trúc của từng file PDF, nhưng về cơ bản nó giúp tiết kiệm được rất nhiều công sức.
Có ai đã từng dùng Python để xử lý file PDF với các dạng dữ liệu khác chưa? Chia sẻ thêm kinh nghiệm cho mọi người cùng học hỏi nhé!