我使用Python 3.5.2 / Anaconda 4.1.1使用pypdf2从pdf中提取文本:(http://www.mitpressjournals.org/doi/pdf/10.1162/INOV_a_00153)。 我在打印文本的中间获得了许多这些unicode字符,我不需要:
\xc5 \xef \x82 \xef \xac \n.
你能帮我摆脱这些讨厌的角色吗?!谢谢你的帮助! 这是我的下面的一小段代码:
import PyPDF2
pdfFileObj = open('C:\\Users\\HP\\Desktop\\Datasets\\task1_rb.pdf','rb')
pdfReader = PyPDF2.PdfFileReader(pdfFileObj)
num=pdfReader.numPages
for a in range(1,num):
text=''
pageObj = pdfReader.getPage(a)
text=pageObj.extractText().encode('utf-8')
print(text)
答案 0 :(得分:1)
您可以用ASCII编码text
并忽略非ASCII字符。
尝试更改:
text=pageObj.extractText().encode('utf-8')
要:
text=pageObj.extractText().encode('ascii', 'ignore')
我已经略过了输出,似乎已经完成了这个技巧。
在另一个点上,range
循环中的for
会导致您错过某些输出(除非这是预期的)。
将for a in range(1,num):
更改为for a in range(0,num):