2016-09-08 10 views
1

CSVファイルから読み込み、データをXMLファイルに書き込もうとしています。私は遭遇しています:UnicodeDecodeError: 'ascii'コーデックは、CSVを読み取ってバイトをデコードできません

UnicodeDecodeError: 'ascii' codec can't decode byte 0x8a in position 87: ordinal not in range(128) 

私は、この種のエラーを無視してデータセットの処理を続ける最良の方法は何ですか。他の同様の質問を読んだ後、私が追加しました:# -*- coding: utf-8 -*-私のファイルにそれはあなたがコーデックでCSVファイルを開いて試すことができます

+0

入力を適切にデコードします。バイトとして読み込み、 'input.decode(" utf-8 ")'を実行します(入力がutf-8の場合)。 – syntonym

答えて

0

を助けなかった:

各行は「\ n」は文字列が含まれていることを考えると
import codecs 
codecs.open(file_name, 'r', 'utf8') 

トラフラインをループするときにline.rstrip()を適用する必要があります。

注:別のエラーが発生するため、値をstrに変換しないでください。

+0

ありがとう@Boris、あなたの提案を試しに行く – user1195192

+0

'\ n'は私の頭痛を複数回与えました:) – zipa

+0

これは私が今読む方法です: open( 'myFile.csv'、 'rb')as ifile: reader = csv.reader(ifile) 列挙型(リーダー)の列: – user1195192

関連する問題