遍历PDF并将所有页面保存到DataFrame中

时间:2019-07-04 09:50:01

标签: python pandas pypdf2

我对Python还是很陌生,第一次尝试使用PyPDF2软件包。我只想遍历我的PDF文档(66页)并将所有文本提取到DataFrame中。

我关注了一些博客文章(http://echrislynch.com/2018/07/13/turning-a-pdf-into-a-pandas-dataframe/),并具有以下代码。与博客文章不同,此时我对任何数据清理或转换都不感兴趣,我只希望页面存储在数据框中。 :

import PyPDF2
import os
import pandas as pd

# Open  PDF as an object and read it into PyPDF2
pdfFileObj = open('MyReport.pdf', 'rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)

# loop through pages
pages=list()
for i in range(1, pdfReader.numPages):
   pageObj = pdfReader.getPage(i)
   page = pageObj.extractText()
   page = page[0:]
   pages.append(page[0:])
for i in range(1,len(page)):
   pages=[page[2:] for page in pages]

# Create dataframe
page_df = pd.DataFrame([page])

# Concat with dbn_df
MyNewReport= pd.DataFrame([page])
page_df = page_df.iloc[0:]
MyNewReport= pd.concat([MyNewReport,page_df], axis=0, 
                         ignore_index=True, sort=False)

我遇到错误:

File "<ipython-input-78-729b84e346f9>", line 16, in <module>
page[i] = page[i][2:]

TypeError: 'str' object does not support item assignment

所以我知道问题出在我的循环中,尽管看着变量浏览器,但我的数据框包含了pdf最后一页中的文本...所以它正在循环遍历!

任何人都可以帮助或建议进一步阅读以了解错误和解决方法吗?

0 个答案:

没有答案