我正在使用“pdfminer.six”,一个python库,从我拥有的几个PDF中提取所有文本。我的方法完美无缺,但是对于一些pdf,可能有一些特殊的字符,当我将它写入文本文件时,我得到“Unicode编码错误:'charmap'编解码器不能编码字符'\ u03b2'位置271130:字符映射到“。 现在,我知道“正在发生什么”,但我想知道如何以最好的方式对待它。这是让我头疼的部分:
with open("newTxtFile.txt", "w") as textFile:
textFile.write(text)
由于我来自巴西并且文本是葡萄牙语,我想保持所有重点,所以我使用pdfminer“codec ='latin-1'”。保存之前打印,据我所知,直到最后完美无缺,但每当我尝试保存到文件时,我都会收到UnicodeEncodeError。
我想到的两个选择是: 要么我找到一种方法来只捕捉给我带来麻烦的特定角色:
with open("newTxtFile.txt", "w") as textFile:
try:
textFile.write(text)
except UnicodeEncodeError:
????
但我不知道除了那个应该是什么?
或者我应该以不同的方式保存文件。
有人能给我一些提示吗?非常感谢提前!
答案 0 :(得分:0)
尝试:
with open("newTxtFile.txt", "wb") as textFile:
textFile.write(text.encode('utf8'))
阅读它:
with open("newTxtFile.txt", "rb") as textFile:
text = textFile.read().decode('utf8')