我使用 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>
我尝试使用编码 = utf-8 打开文件,但即使使用其他编解码器也不起作用。
然后我尝试使用写字板通过另存为 utf-8 txt 文件来制作副本。但写字板崩溃了。
这里的问题出在哪里,看起来该行中有一些 python 无法处理的字符。
我该怎么做才能完全读取我的文件?或者是否可以忽略此类错误消息并继续下一行?
您可以在这里下载打包文件:
http://wacky.sslmit.unibo.it/lib/exe/fetch.php?media=Frequency_lists:sorted.de.word.unigrams.7z http://wacky.sslmit.unibo.it/lib/exe/fetch.php?media=frequency_lists:sorted.de.word.unigrams.7z
多谢!