我以PDF格式从多页CV中提取了文本内容,并尝试使用pyPDF2
将该内容写入文本文件。但是在尝试编写内容时出现以下错误消息。
这是我的代码:
import PyPDF2
newFile = open('details.txt', 'w')
file = open("cv3.pdf", 'rb')
pdfreader = PyPDF2.PdfFileReader(file)
numPages = pdfreader.getNumPages()
print(numPages)
page_content = ""
for page_number in range(numPages):
page = pdfreader.getPage(page_number)
page_content += page.extractText()
newFile.write(page_content)
print(page_content)
file.close()
newFile.close()
错误信息:
追溯(最近一次通话):文件
“ C:/Users/HP/PycharmProjects/CVParser/pdf.py”,第16行,在
newFile.write(page_content)文件“ C:\ Program Files \ Python37 \ lib \ encodings \ cp1252.py”,第19行,编码
返回codecs.charmap_encode(input,self.errors,encoding_table)[0] UnicodeEncodeError:“ charmap”编解码器无法在其中编码字符“ \ u0141”
位置827:字符映射到
流程以退出代码1完成
多页PDF文件(转换为PDF的docx文件)成功执行了此代码。
如果有人知道解决方案,请帮助我。
最佳答案
这将解决您在Python 3中的问题:
with open("Output.txt", "w") as text_file:
print("{}".format(page_content), file=text_file)
如果上述方法对您不起作用,请尝试以下方法:
with open("Output1.txt", "wb") as text_file:
text_file.write(page_content.encode("UTF-8"))