我有一个 pdf,其中每一页都包含一个地址。地址格式如下:
Location Name
Street Address
City, State Zip
例如:
The Gift Store
620 Broadway Street
Van Buren, AR 72956
每个地址都仅采用这种格式,并且每个地址都位于 pdf 的不同页面上。
我需要提取地址信息并将结果存储在 excel/csv 文件中。我需要将每个信息字段的条目分开。我的 Excel 表需要在不同的列中包含位置名称、街道地址、城市、州、邮编。我在 python 中使用 pyPdf。
我已经使用以下代码来执行此操作,但我的代码没有考虑换行符;相反,它将单个页面的整个数据作为连续字符串提供。
import pyPdf
def getPDFConten(path):
content = ""
num_pages = 10
p = file(path, "rb")
pdf = pyPdf.PdfFileReader(p)
for i in range(9, num_pages):
x = pdf.getPage(i).extractText()+'\n'
content += x
content = " ".join(content.replace(u"\xa0", " ").strip().split())
return content
con = getPDFContent("document.pdf")
print con
或者我上面的例子,它给出了“The Gift Store 620 Broadway Street Van Buren, AR 72956”。
如果我可以逐行读取输入,那么我可以轻松地从前两行获取位置名称和街道地址,然后使用子字符串从第三行获取其余部分。
我尝试使用[此处列出的解决方案(pyPdf 忽略 PDF 文件中的换行符),但它对我不起作用。我也尝试使用 pdfminer:它可以逐行提取信息,但它首先将 pdf 转换为文本文件,我不想这样做。我只想使用 pyPdf。谁能建议我错在哪里或我错过了什么?这可以使用pyPdf吗?