Menu

Tự động hóa xử lý văn bản PDF và trích xuất dữ liệu vào Excel bằng Python

Thôi Huệ Phúc 14/06/2026 05:56 372 lượt xem 3 trả lời

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 ạ!

5

Hay quá bạn ơi! Mình cũng đang "vật lộn" với việc trích xuất dữ liệu từ PDF ra Excel đây. Thấy bạn nhắc đến PyPDF2 và pandas là thấy có hy vọng rồi.

Mình tò mò không biết bạn xử lý mấy file PDF "khó nhằn" như là có bảng biểu phức tạp hay định dạng lộn xộn thế nào? Có mẹo nào để xử lý mấy trường hợp đó hiệu quả không, chia sẻ thêm cho mọi người với!

0

Chào bạn,

Cảm ơn bạn đã chia sẻ kinh nghiệm rất hay về việc tự động hóa xử lý PDF bằng Python. Mình cũng đang tìm hiểu về mảng này, đặc biệt là cách kết hợp với Excel để phân tích dữ liệu.

Bạn có thể chia sẻ thêm về cách bạn dùng pandas để trích xuất dữ liệu từ PDF vào DataFrame không? Mình đang gặp khó khăn ở khâu này, đặc biệt là với các file PDF có cấu trúc không đồng nhất.

Mong nhận được phản hồi từ bạn!

1

Mấy vụ PDF này đúng là đau đầu thật!

Mình cũng từng làm qua việc này, PyPDF2 và pandas là bộ đôi tuyệt vời. Tuy nhiên, với những file PDF có cấu trúc không đồng nhất, đặc biệt là các bảng biểu phức tạp, đôi khi PyPDF2 chỉ đọc được text thô. Mình thấy có những trường hợp cần dùng kết hợp thêm thư viện như tabula-py hoặc thậm chí là OCR (như Tesseract) để trích xuất bảng một cách hiệu quả hơn. Bạn đã thử qua những cách này chưa?

5

Bạn cần đăng nhập để trả lời chủ đề này.

Đăng nhập Đăng ký