lạc đà. Khai thác bảng PDF cho con người. Camelot là một thư viện Python giúp mọi người dễ dàng trích xuất các bảng từ tệp PDF
Để cài đặt bằng Anaconda
conda install -c conda-forge camelot-py
Hoặc là
Sau khi cài đặt các phụ thuộc, tk và ghostscript, bạn chỉ cần sử dụng pip để cài đặt Camelot
pip install camelot-py[cv]
Camelot chỉ hoạt động với các tệp PDF dựa trên văn bản chứ không phải tài liệu được quét
Định dạng tệp PDF hoặc tệp tài liệu di động là một trong những định dạng tệp phổ biến nhất hiện nay. Nó được sử dụng rộng rãi trong mọi ngành công nghiệp như trong văn phòng chính phủ, chăm sóc sức khỏe và thậm chí trong công việc cá nhân. Do đó, có một lượng lớn dữ liệu phi cấu trúc tồn tại ở định dạng PDF và việc trích xuất dữ liệu này để tạo ra những hiểu biết có ý nghĩa là công việc phổ biến của các nhà khoa học dữ liệu
Có một số thư viện Python dành riêng để làm việc với các tài liệu PDF, chẳng hạn như PYPDF2, v.v. Trong hướng dẫn này, tôi sẽ sử dụng Camelot
Tại sao Camelot?
- Bạn đang kiểm soát. Không giống như các thư viện và công cụ khác cho kết quả đầu ra đẹp mắt hoặc thất bại thảm hại [không có điểm ở giữa], Camelot cung cấp cho bạn khả năng điều chỉnh trích xuất bảng. [Điều này rất quan trọng vì mọi thứ trong thế giới thực, kể cả trích xuất bảng PDF, đều mờ. ]
- Các bảng không hợp lệ có thể bị loại bỏ dựa trên các số liệu như độ chính xác và khoảng trắng mà không cần phải xem từng bảng theo cách thủ công
- Mỗi bảng là một DataFrame của gấu trúc, tích hợp liền mạch vào ETL và quy trình phân tích dữ liệu
- Xuất sang nhiều định dạng, bao gồm JSON, Excel, HTML và Sqlite
Hãy bắt đầu nào
Trước khi cài đặt các thư viện Camelot, chúng ta phải cài đặt ghost script, sau khi chúng ta cài đặt ghost script, hãy cài đặt camelot-py
Chạy các lệnh bên dưới
pip install "camelot-py[cv]"
Khi bạn đã cài đặt thư viện camelot-py, chúng ta đã sẵn sàng. Chúng tôi đang cố gắng trích xuất bảng doanh thu GST của tiểu bang từ tài liệu pdf này
bảng Pdf
import camelot
Nếu bạn có camelot, Python sẽ không in thông báo lỗi và nếu không, bạn sẽ thấy một thông báo
import camelot1
# Syntax of the camelot.read_pdf function camelot.read_pdf[ filepath, pages='1', password=None, flavor='lattice', suppress_stdout=False, layout_kwargs={}, **kwargs, ]
Nếu bạn phải trích xuất một bảng từ các trang khác nhau, bạn phải cung cấp số trang
tables2=camelot.read_pdf['gst-revenue-collection-march2020.pdf', flavor='stream', pages='0-3'] tables2
Điều này sẽ cung cấp cho bạn một danh sách Bảng tổng thể có trong tài liệu pdf. chúng ta có thể chọn một bảng chuyển chỉ mục
tables2[2] # 2 is the index
Đoạn mã trên sẽ cung cấp cho bạn các chi tiết như độ chính xác và số trang. Lưu ý có 2 trang
Đoạn mã sau sẽ trích xuất bảng từ tài liệu pdf
df2=tables2[2].df df2
Trong trường hợp này, do bảng được chia thành hai trang khác nhau. Vì vậy, chúng ta có thể làm một cách giải quyết
tables2[3] tables2[3].parsing_report
Ở đây bạn có thể nhận thấy, chúng tôi trích xuất bảng từ trang số 3
df3=tables2[3].df df3
Sau đây là mã để nối thêm df2 và df3
df4=df2.append[df3] df4
import camelot0
Của bạn đây, chúng tôi đã trích xuất một bảng từ pdf, bây giờ chúng tôi có thể xuất dữ liệu này ở bất kỳ định dạng nào sang hệ thống cục bộ
Phần kết luận
Trích xuất dữ liệu dạng bảng từ pdf với sự trợ giúp của thư viện camelot thực sự dễ dàng. Hơn nữa, chúng tôi biết có một lượng lớn dữ liệu phi cấu trúc ở định dạng pdf và sau khi trích xuất các bảng, chúng tôi có thể thực hiện nhiều phân tích và trực quan hóa dựa trên nhu cầu kinh doanh của bạn
Tôi hy vọng bài viết này sẽ giúp ích cho bạn và tiết kiệm được nhiều thời gian. để tôi biết nếu bạn có bất kỳ sự gợi ý nào
Mã hóa vui vẻ
Thông tin về các Tác giả
Prabhat Kumar – Chuyên viên phân tích
Tôi là một kỹ sư hiện đang làm việc tại các MNC hàng đầu với tư cách là Cộng tác viên phân tích và đam mê đổi mới, tôi thích học hỏi những điều mới, tôi tin rằng mọi dữ liệu đều có một câu chuyện và tôi thích đọc những câu chuyện đó