Chào các bạn trong diễn đàn,
Mình thường xuyên phải làm việc với các file PDF chứa dữ liệu và nhận thấy việc trích xuất thông tin thủ công rất tốn thời gian. Gần đây, mình có tìm hiểu và áp dụng Python để tự động hóa quá trình này, thấy khá hiệu quả nên muốn chia sẻ với mọi người, đặc biệt là các bạn làm văn phòng hay phải xử lý văn bản.
Các công cụ mình thường dùng là thư viện PyPDF2 để đọc file PDF và pandas để xử lý dữ liệu sau khi trích xuất.
Các bước cơ bản:
- Cài đặt thư viện:
pip install pypdf2 pandas - Mở file PDF và đọc nội dung từng trang.
- Trích xuất văn bản từ các trang đã đọc.
- Sử dụng các hàm xử lý chuỗi của Python hoặc regex để lọc lấy thông tin cần thiết.
- Lưu dữ liệu đã trích xuất vào file Excel hoặc DataFrame của pandas để phân tích tiếp.
Ví dụ đơn giản để trích xuất văn bản từ một file PDF:
import PyPDF2
def extract_text_from_pdf(pdf_path):
text = ''
with open(pdf_path, 'rb') as file:
reader = PyPDF2.PdfReader(file)
num_pages = len(reader.pages)
for page_num in range(num_pages):
page = reader.pages[page_num]
text += page.extract_text()
return text
# Sử dụng:
# pdf_file = 'du_lieu.pdf'
# extracted_text = extract_text_from_pdf(pdf_file)
# print(extracted_text)
Cách này giúp mình tiết kiệm được rất nhiều thời gian so với việc copy-paste thủ công. Nếu ai có kinh nghiệm hay các thư viện khác hữu ích hơn thì chia sẻ thêm nhé!