Cạo pdf python

Trong bài viết này, bạn sẽ tìm hiểu cách tốt nhất để trích xuất và xuất dữ liệu từ các bảng trong tệp PDF sang CSV/Excel bằng Python

Ảnh của David Clode trên unsplash

Tìm tải các bảng từ các tệp PDF không còn là một nhiệm vụ khó khăn nữa, bạn có thể thực hiện công việc này bằng một dòng duy nhất trong Python

Những điều bạn sẽ học

  1. Cài đặt thư viện Tabula-Py
  2. Nhập thư viện
  3. Đọc một tệp PDF
  4. Đọc một bảng trên một trang cụ thể của tệp pdf
  5. Đọc nhiều bảng trên cùng một trang của tệp PDF
  6. Chuyển đổi tệp PDF trực tiếp sang tệp CSV

bảng

Tabula là một trong những gói hữu ích không chỉ cho phép bạn xóa các bảng khỏi tệp PDF mà còn chuyển tệp PDF trực tiếp thành tệp CSV

Go to started…

1. Cài đặt thư viện Tabula-Py

pip install tabula-py

2. Enter tabula library

import tabula

3. Đọc tệp PDF

Cho phép loại bỏ bản PDF này vào khung dữ liệu PANDAS. PDF vào khung dữ liệu gấu trúc

Hình ảnh của Satya Ganesh
file1 = "//nbviewer.jupyter.org/github/kuruvasatya/Scraping-Tables-from-PDF/blob/master/data1.pdf"table = tabula.read_pdf[file1,pages=1]table[0]

Vui lòng xem đầu ra của đoạn mã được thực thi trong Google Colabs

Hình ảnh của Satya Ganesh

4. Đọc một bảng trên một trang cụ thể của tệp PDF

Giả sử chúng ta cần loại bỏ tệp PDF này chứa nhiều trang trong đó. PDF FILE chứa nhiều trang trong đó

Hình ảnh của Satya Ganeshhình ảnh của Satya Ganesh
file2 = "//nbviewer.jupyter.org/github/kuruvasatya/Reading-Table-Data-From-PDF/blob/master/data.pdf"# To read table in first page of PDF file
table1 = tabula.read_pdf[file2 ,pages=1]
# To read tables in secord page of PDF file
table2 = tabula.read_pdf[file2 ,pages=2]
print[table1[0]]
print[table2[0]]

5. Điều gì sẽ xảy ra nếu có nhiều bảng trên cùng một trang của tệp PDF?

Giả sử chúng ta cần cạo 2 bảng này trên cùng một trang của tệp PDF. file PDF

Hình ảnh của Satya Ganesh
To read multiple tables we need to add extra parametermultiple_tables = True -> Read multiple tables as independent tables
multiple_tables = False -> Read multiple tables as single table

5. 1. Đọc nhiều bảng là bảng độc lập

file3 = "//nbviewer.jupyter.org/github/kuruvasatya/Reading-Table-Data-From-PDF/blob/master/data3.pdf"tables = tabula.read_pdf[file3 ,pages=1, multiple_tables=True]print[tables[0]]
print[tables[1]]
Hình ảnh của Satya Ganeshhình ảnh của Satya Ganesh

5. 2 Đọc nhiều bảng dưới dạng một bảng

tables = tabula.read_pdf[file3 ,pages=1,multiple_tables=False]tables[0]
Hình ảnh của Satya Ganesh

6. Ẩn tệp PDF trực tiếp vào tệp CSV

Chúng tôi có thể trực tiếp chuyển đổi tệp PDF chứa bảng dữ liệu trực tiếp sang tệp CSV bằng phương thức Convert_into [] trong Tabula thư viện. phương thức convert_into[] trong thư viện tabula

1. Chuyển đổi bảng trong 1 trang của tệp PDF thành CSV

# output just the first page tables in the PDF to a CSVtabula.convert_into["pdf_file_name", "Name_of_csv_file.csv"]

2. Chuyển đổi tất cả các bảng trong tệp PDF thành CSV

________số 8

Kết luận

Tôi hy vọng bạn đã học được một cách tuyệt vời để cắt bảng tệp PDF bằng một dòng duy nhất trong Python

Kiểm tra các bài viết liên quan của tôi

Tài liệu tham khảo

Cảm ơn vì đã đọc 😃 Chúc một ngày tốt lành

Chủ đề này là về cách trích xuất các bảng từ PDF Enter Python. Đầu tiên, hãy thảo luận về những gì mà một tệp PDF?

PDF [định dạng tài liệu di động] có thể là một định dạng tệp tin nén được ghi lại tất cả thời gian của một tài liệu ở định dạng bitmap bên dưới mà bạn chỉ có thể xem, điều hướng hoặc chuyển tiếp cho người khác. Các tệp PDF được tạo bằng Adobe Acrobat,

Thí dụ

Giả sử một tệp pdf chứa một bảng

Tên người dùngTênNghề nghiệp1DavidQuản lý sản phẩm2Sư TửQuản trị viên IT3JohnLuật sư

Và chúng tôi muốn đọc bảng này vào chương trình Python của chúng tôi. Vấn đề này có thể được giải quyết bằng cách sử dụng một số phương pháp. Hãy thảo luận từng người một

Phương pháp 1. Use Tabula-Py

Tabula-Py là một trình đơn giản bao bọc Python của Tabula-Java, có thể đọc các bảng trong PDF. Bạn có thể cài đặt thư viện Tabula-Py bằng lệnh

pip install tabula-py
pip install tabulate

Các phương pháp được sử dụng trong ví dụ là

đã đọc_pdf []. Đọc dữ liệu từ các bảng của tệp PDF của địa chỉ đã cho đọc dữ liệu từ các bảng của tệp PDF của địa chỉ đã cho

Lập bảng []. Sắp xếp dữ liệu theo định dạng bảng sắp xếp dữ liệu theo định dạng bảng

Tệp PDF được sử dụng ở đây là PDF

Python3

import tabula
1
import tabula
2
import tabula
3
import tabula
4
import tabula
1
import tabula
6
import tabula
3
import tabula
8
import tabula
9
file1 = "//nbviewer.jupyter.org/github/kuruvasatya/Scraping-Tables-from-PDF/blob/master/data1.pdf"table = tabula.read_pdf[file1,pages=1]table[0]
0
file1 = "//nbviewer.jupyter.org/github/kuruvasatya/Scraping-Tables-from-PDF/blob/master/data1.pdf"table = tabula.read_pdf[file1,pages=1]table[0]
1
file1 = "//nbviewer.jupyter.org/github/kuruvasatya/Scraping-Tables-from-PDF/blob/master/data1.pdf"table = tabula.read_pdf[file1,pages=1]table[0]
2223
file1 = "//nbviewer.jupyter.org/github/kuruvasatya/Scraping-Tables-from-PDF/blob/master/data1.pdf"table = tabula.read_pdf[file1,pages=1]table[0]
0
file1 = "//nbviewer.jupyter.org/github/kuruvasatya/Scraping-Tables-from-PDF/blob/master/data1.pdf"table = tabula.read_pdf[file1,pages=1]table[0]
5
file1 = "//nbviewer.jupyter.org/github/kuruvasatya/Scraping-Tables-from-PDF/blob/master/data1.pdf"table = tabula.read_pdf[file1,pages=1]table[0]
6
file1 = "//nbviewer.jupyter.org/github/kuruvasatya/Scraping-Tables-from-PDF/blob/master/data1.pdf"table = tabula.read_pdf[file1,pages=1]table[0]
7
file1 = "//nbviewer.jupyter.org/github/kuruvasatya/Scraping-Tables-from-PDF/blob/master/data1.pdf"table = tabula.read_pdf[file1,pages=1]table[0]
8

đầu ra

Phương pháp 2. Use Camelot

Camelot là một thư viện Python giúp trích xuất các bảng từ các tệp PDF. Bạn có thể cài đặt thư viện Camelot-Py bằng lệnh

import tabula
0

Các phương pháp được sử dụng trong ví dụ là

đã đọc_pdf []. Đọc dữ liệu từ các bảng của tệp PDF của địa chỉ đã cho đọc dữ liệu từ các bảng của tệp pdf của địa chỉ đã cho

Lập bảng []. Sắp xếp dữ liệu theo định dạng bảng hướng tới bảng mong muốn của một chỉ mục nhất định

Tệp PDF được sử dụng ở đây là PDF


Python3

import tabula
3______30
file2 = "//nbviewer.jupyter.org/github/kuruvasatya/Reading-Table-Data-From-PDF/blob/master/data.pdf"# To read table in first page of PDF file
table1 = tabula.read_pdf[file2 ,pages=1]
# To read tables in secord page of PDF file
table2 = tabula.read_pdf[file2 ,pages=2]
print[table1[0]]
print[table2[0]]
1
file1 = "//nbviewer.jupyter.org/github/kuruvasatya/Scraping-Tables-from-PDF/blob/master/data1.pdf"table = tabula.read_pdf[file1,pages=1]table[0]
0
file2 = "//nbviewer.jupyter.org/github/kuruvasatya/Reading-Table-Data-From-PDF/blob/master/data.pdf"# To read table in first page of PDF file
table1 = tabula.read_pdf[file2 ,pages=1]
# To read tables in secord page of PDF file
table2 = tabula.read_pdf[file2 ,pages=2]
print[table1[0]]
print[table2[0]]
3
file2 = "//nbviewer.jupyter.org/github/kuruvasatya/Reading-Table-Data-From-PDF/blob/master/data.pdf"# To read table in first page of PDF file
table1 = tabula.read_pdf[file2 ,pages=1]
# To read tables in secord page of PDF file
table2 = tabula.read_pdf[file2 ,pages=2]
print[table1[0]]
print[table2[0]]
4
file2 = "//nbviewer.jupyter.org/github/kuruvasatya/Reading-Table-Data-From-PDF/blob/master/data.pdf"# To read table in first page of PDF file
table1 = tabula.read_pdf[file2 ,pages=1]
# To read tables in secord page of PDF file
table2 = tabula.read_pdf[file2 ,pages=2]
print[table1[0]]
print[table2[0]]
5
file1 = "//nbviewer.jupyter.org/github/kuruvasatya/Scraping-Tables-from-PDF/blob/master/data1.pdf"table = tabula.read_pdf[file1,pages=1]table[0]
7
file2 = "//nbviewer.jupyter.org/github/kuruvasatya/Reading-Table-Data-From-PDF/blob/master/data.pdf"# To read table in first page of PDF file
table1 = tabula.read_pdf[file2 ,pages=1]
# To read tables in secord page of PDF file
table2 = tabula.read_pdf[file2 ,pages=2]
print[table1[0]]
print[table2[0]]
7
file2 = "//nbviewer.jupyter.org/github/kuruvasatya/Reading-Table-Data-From-PDF/blob/master/data.pdf"# To read table in first page of PDF file
table1 = tabula.read_pdf[file2 ,pages=1]
# To read tables in secord page of PDF file
table2 = tabula.read_pdf[file2 ,pages=2]
print[table1[0]]
print[table2[0]]
8
file2 = "//nbviewer.jupyter.org/github/kuruvasatya/Reading-Table-Data-From-PDF/blob/master/data.pdf"# To read table in first page of PDF file
table1 = tabula.read_pdf[file2 ,pages=1]
# To read tables in secord page of PDF file
table2 = tabula.read_pdf[file2 ,pages=2]
print[table1[0]]
print[table2[0]]
9

đầu ra


Làm cách nào để trích xuất một bảng từ PDF hình ảnh trong Python?

Tôi sẽ đề nghị bạn trích xuất bảng bằng cách sử dụng bảng. .

Sử dụng Tesseract để phát vòng quay và hình ảnh Mogrify để chỉnh sửa nó

Sử dụng OpenCV để tìm và trích xuất bảng

Sử dụng OpenCV để tìm và trích xuất từng ô từ bảng

Tôi có thể trích xuất các bảng từ pdf không?

Làm thế nào tôi có thể trích xuất bảng từ tài liệu PDF? . Kéo và thả tệp PDF của bạn hoặc nhấp vào bên trong vùng màu trắng để chọn tệp và chọn Định dạng đầu ra. Sau đó nhấp vào nút 'Trích xuất'. Khi trích xuất bảng của tài liệu PDF hoàn tất, bạn có thể tải xuống các tệp kết quả của mình. kéo và thả tệp PDF của bạn hoặc nhấp vào bên trong vùng màu trắng để chọn tệp và chọn định dạng đầu ra. Sau đó nhấp vào nút 'TRÍCH DẪN' . Khi quá trình trích xuất bảng của tài liệu PDF hoàn tất, bạn có thể tải xuống các tệp kết quả của mình.

Làm cách nào để lấy dữ liệu từ PDF trong Python?

Bây giờ, tôi đang tạo một đối tượng của lớp trang PYPDF2. Đối tượng đọc pdf đầu có chức năng getPage[] lấy số trang [chỉ mục biểu mẫu bắt đầu 0] làm đối số và trả về đối tượng trang. Đối tượng trang có chức năng trích xuất [] để trích xuất văn bản từ trang PDF. Cuối cùng, chúng tôi đóng đối tượng tệp PDF

Chúng ta có thể đọc dữ liệu từ PDF trong Python không?

Có một vài thư viện Python sử dụng mà bạn có thể trích xuất dữ liệu từ PDFS. Ví dụ. bạn có thể sử dụng thư viện PYPDF2 để trích xuất văn bản từ các tệp PDF trong đó văn bản theo cách tuần tự hoặc được định dạng, tức là trong các dòng hoặc biểu mẫu. Bạn cũng có thể trích xuất các bảng trong tệp PDF thông qua thư viện Camelot

Chủ Đề