我有一个PDF,表格格式如下,列名和数据用“--------”分隔
col1 col2 col3 col4 col5 col6 col7 col8 col9 col10 col11 col12 col13
----------------------------------------------------------------------
B ABC1 F1 SSSSSS 1 32WE 161A1 1 A DU23 162.00 85
C ABC2 F2 DDDDDD 1 WE32 161B1 1 B DU20 162.00 86
C ABC3 F3 FFFFFF 1 DF45 161C1 1 C DU20 162.00 87
当前代码:
import tabula
df = tabula.read_pdf("example.pdf", pages='all')
df 是 pdf 中所有表的数据框列表
我能够使用 tabula 提取表格内容,但可能是由于表格格式,它忽略了列名并将表格的第一行显示为列名。如何获取列名?col3 也为空,tabula 完全忽略此列。如何提取包含空列的列名的完整表
我不确定这是否可行,但是如果我从表格中删除“----------”,我相信 tabula 将能够正确读取表格。但是,我不确定如何从pdf中删除“------------”。我正在尝试使用 pypdf2 从 pdf 中提取数据,但无法更改内容。
代码 :
import PyPDF2
from PyPDF2 import PdfFileWriter, PdfFileReader
# creating a pdf file object
pdfFileObj = open('example.pdf', 'rb')
# creating a pdf reader object
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
# printing number of pages in pdf file
i=0
pageData=''
for i in range(0,pdfReader.getNumPages()):
# creating a page object
pageObj = pdfReader.getPage(i)
# extracting text from page
pageData = pageObj.extractText()
print(pageData)
#Modify PDF here
#remove "-----" from the extracted text
# rewrite modified text back to pdf
i = i+1
# closing the pdf file object
pdfFileObj.close()