Chào mọi người,
Dạo này công việc của mình hay phải nhập liệu từ các ảnh chụp màn hình (screenshot) vào Excel, tốn khá 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 có thể dùng Python để tự động hóa việc này. Nay chia sẻ lại cho anh em nào đang gặp tình huống tương tự.
Ý tưởng: Sử dụng thư viện OCR (Optical Character Recognition) để nhận dạng ký tự trong ảnh, sau đó trích xuất dữ liệu và đưa vào file Excel.
Công cụ cần dùng:
- Python
- Thư viện
pytesseract(cho OCR) - Thư viện
Pillow(để xử lý ảnh) - Thư viện
openpyxl(để ghi dữ liệu vào Excel)
Các bước cơ bản:
- Cài đặt các thư viện cần thiết:
pip install pytesseract Pillow openpyxl - Cài đặt Tesseract OCR engine (hướng dẫn có thể tìm trên mạng tùy hệ điều hành của bạn).
- Viết script Python để:
- Mở file ảnh.
- Sử dụng
pytesseract.image_to_string()để trích xuất văn bản từ ảnh. - Xử lý chuỗi văn bản đã trích xuất (loại bỏ ký tự thừa, định dạng lại nếu cần).
- Ghi dữ liệu vào file Excel bằng
openpyxl.
Ví dụ đơn giản về cách trích xuất văn bản từ ảnh:
from PIL import Image
import pytesseract
img_path = 'du_lieu_cua_ban.png'
text = pytesseract.image_to_string(Image.open(img_path), lang='vie') # 'vie' cho tiếng Việt
print(text)
Sau đó, bạn cần xử lý chuỗi text này để lấy ra các thông tin cần thiết và ghi vào Excel. Cách xử lý chuỗi sẽ tùy thuộc vào định dạng dữ liệu trong ảnh của bạn.
Cách này tuy hơi mất công cài đặt ban đầu, nhưng khi đã chạy ổn thì tiết kiệm được rất nhiều thời gian. Anh em nào có kinh nghiệm xử lý ảnh với Python hoặc có cách nào hay hơn thì chia sẻ thêm nhé!