我使用 python3.3 和 sqlite3 数据库。我有一个大约 270mb 的大文本文件,我可以在 Windows7 中使用写字板打开它。
该文件中的每一行如下所示:
术语\t编号\n
我想读取每一行并将值保存在数据库中。我的代码如下所示:
f = open('sorted.de.word.unigrams', "r")
for line in f:
#code
我能够将所有数据读入我的数据库,但只是到某一行,我建议可能是所有行的一半。然后我收到以下错误:
File "C:\projects\databtest.py", line 18, in <module>
for line in f:
File "c:\python33\lib\encodings\cp1252.py", line 23, in decode
return codecs.charmap_decode(input,self.errors,decoding_table)[0]
UnicodeDecodeError: 'charmap' codec can't decode byte 0x81 in position 140: character maps to <undefined>
我尝试使用 encoding = utf-8 打开文件,但即使是其他编解码器也没有任何效果。然后我尝试通过另存为 utf-8 txt 文件使用写字板制作副本。但是写字板崩溃了。
问题出在哪里,看起来该行中有一些python无法处理的字符。我该怎么做才能完全阅读我的文件?或者是否有可能忽略此类错误消息并继续下一行?
您可以在此处下载打包文件:
http://wacky.sslmit.unibo.it/lib/exe/fetch.php?media=frequency_lists:sorted.de.word.unigrams.7z
非常感谢!