Chào các bác, dạo này em đang mày mò về Python để tự động hóa mấy vụ lặt vặt với Excel. Thấy trong này có mấy bài chia sẻ về tự động hóa với Python hay quá, nên em cũng mạnh dạn chia sẻ một chút kinh nghiệm cá nhân về việc xử lý file PDF và trích xuất dữ liệu vào Excel. Cái này rất hữu ích cho bác nào hay phải làm việc với báo cáo, hóa đơn, hay các loại văn bản dạng PDF mà cần lấy thông tin ra Excel để phân tích.
Công cụ em hay dùng là thư viện PyPDF2 để đọc file PDF và pandas để xử lý dữ liệu Excel. Cơ bản là mình sẽ đọc từng trang của file PDF, tìm kiếm các chuỗi ký tự hoặc cấu trúc nhất định (ví dụ: tên khách hàng, mã số hóa đơn, số tiền), sau đó gom chúng lại và lưu vào DataFrame của pandas rồi xuất ra file Excel.
Ví dụ đơn giản để trích xuất số trang của một file PDF:
from PyPDF2 import PdfReader
def get_pdf_page_count(pdf_path):
reader = PdfReader(pdf_path)
return len(reader.pages)
print(get_pdf_page_count('my_document.pdf'))Việc trích xuất dữ liệu cụ thể hơn sẽ tùy thuộc vào cấu trúc của từng file PDF. Đôi khi cần kết hợp thêm các kỹ thuật xử lý chuỗi hoặc thậm chí là OCR nếu file PDF là dạng ảnh scan. Tuy nhiên, với các file PDF văn bản thông thường, việc này hoàn toàn khả thi và tiết kiệm rất nhiều thời gian so với làm thủ công.
Bác nào đã từng làm qua hoặc có cách nào hay hơn thì chia sẻ cho em học hỏi với ạ!