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 - Hướng dẫn chi tiết

Lý Trạch Pháp 07/06/2026 22:40 233 lượt xem 1 trả lời

Chào mọi người, dạo gần đây mình có làm việc nhiều với các file PDF chứa dữ liệu quan trọng và việc trích xuất thủ công tốn rất nhiều thời gian. Sau khi tìm hiểu, mình 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ả. Hôm nay mình muốn chia sẻ với các bạn một hướng dẫn chi tiết về cách sử dụng thư viện PyMuPDF (fitz) để đọc file PDF và trích xuất văn bản, sau đó lưu vào file Excel.

Đầu tiên, các bạn cần cài đặt thư viện:

pip install PyMuPDF pandas openpyxl

Tiếp theo là đoạn code mẫu:

import fitz # PyMuPDF
import pandas as pd

def extract_text_from_pdf(pdf_path):
    text = ""
    try:
        doc = fitz.open(pdf_path)
        for page_num in range(len(doc)):
            page = doc.load_page(page_num)
            text += page.get_text()
        doc.close()
    except Exception as e:
        print(f"Lỗi khi đọc file {pdf_path}: {e}")
    return text

def save_to_excel(data, output_path):
    df = pd.DataFrame(data)
    df.to_excel(output_path, index=False)
    print(f"Dữ liệu đã được lưu vào {output_path}")

# --- Ví dụ sử dụng ---
pdf_file = "du_lieu_cua_ban.pdf"
excel_output = "ket_qua_trich_xuat.xlsx"

# Giả sử bạn muốn trích xuất toàn bộ văn bản
total_text = extract_text_from_pdf(pdf_file)

# Nếu bạn muốn xử lý văn bản để trích xuất các trường cụ thể, bạn cần thêm logic ở đây
# Ví dụ: tách dòng, tìm kiếm theo mẫu regex...

# Ở đây mình chỉ lưu toàn bộ văn bản vào một cột đơn giản
data_to_save = {'VanBanTrichXuat': [total_text]}
save_to_excel(data_to_save, excel_output)

Lưu ý, đoạn code trên chỉ là ví dụ cơ bản để trích xuất toàn bộ văn bản. Nếu file PDF của bạn có cấu trúc phức tạp, bạn sẽ cần tùy chỉnh phần xử lý văn bản (ví dụ: sử dụng biểu thức chính quy - regex) để trích xuất chính xác các thông tin bạn cần.

Hy vọng chia sẻ này hữu ích cho các bạn đang làm việc với file PDF và Excel!

1

Bài viết hay quá bạn ơi! Mình cũng đang đau đầu với việc xử lý PDF đây.

Bạn có thể chia sẻ thêm về trường hợp file PDF của mình có nhiều bảng biểu không? PyMuPDF xử lý mấy cái đó có ổn không, hay mình cần dùng thêm thư viện nào khác?

Cảm ơn bạn đã chia sẻ nhé!

0

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

Đăng nhập Đăng ký