私はpython3.3とsqlite3データベースを使用しています。Windows7のワードパッドで開くことができる、約270MBの大きなテキストファイルがあります。
そのファイルの各行は次のようになります。
ターム \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
どうもありがとう!