所以我以前用Java做过,但我对python比较新,所以我需要知道如何执行以下操作:
我有一堆PDF文件,我的python脚本从一个网站下载。这些PDF包含不同产品的产品信息。并非所有PDF都有相同的类别/数据。有一个类别,应用程序,在一个PDF中跨越2个数据行,在另一个PDF中跨越1个数据行。我是通过收集数据的一方,然后另一方,并压缩到一个字典,然而,由于应用程序占用了一个PDF的两行,我被迫将这些单独的列表合并为1。但是,如果我对所有的人都这样做,那么1行的那一行会和下一行混在一起。如果它是1到2行,我怎么能理解呢。这是我的代码:from PyPDF2 import PdfFileReader, PdfFileWriter
import re
file = open('C:/Users/CDS/tester.pdf', 'rb')
pdf = PdfFileReader(file)
text = pdf.getPage(0).extractText()
a = re.findall('Product Attributes(.*?)Minerallac Company', text, re.S)
b = re.findall('Tension Strength(.*?)FE:', text, re.S)
a = ''.join(a)
a = a.strip()
a = a.split('\n')
a[9] = a[9] + a[10]
a.remove(a[10])
b = ''.join(b)
b = b.strip()
b = b.split('\n')
b[4] = b[4] + b[5]
a.remove(a[5])
PDFData = dict(zip(a, b))
categories = ['Application', 'Finish', 'Brand Name']
for category in categories:
print(category + ': ' + PDFData[category])
print('\n')
下面是我比较的两个PDF文件的链接:
如您所见,应用程序行具有不同长度的数据。一条是1条线,另一条是2条线。我如何用PyPDF检测到这一点?有没有比我正在做的更好的方法来获取数据?在
抱歉,如果这有点混乱,让我知道如果你不明白什么!在