Python で特殊文字を含む CSV ファイルを読み取ろうとすると、例外が発生します。コードはエンコードとデコードを利用して ASCII と UTF-8 の間で変換しますが、この方法でもエラーが発生します。
元のコードは、.encode メソッドを誤って使用しており、.encode メソッドをUnicode 文字列の代わりにバイト文字列を使用します。この問題を解決するには、次の簡略化されたコードを利用できます:
<code class="python">import csv def unicode_csv_reader(utf8_data, dialect=csv.excel, **kwargs): csv_reader = csv.reader(utf8_data, dialect=dialect, **kwargs) for row in csv_reader: yield [unicode(cell, 'utf-8') for cell in row] filename = 'da.csv' reader = unicode_csv_reader(open(filename)) for field1, field2, field3 in reader: print field1, field2, field3 </code>
このコードは、コード変換を必要とせずに、UTF-8 でエンコードされたデータを Python リストに効率的に読み取ります。
以上がエンコードエラーなしでPythonでUTF-8 CSVファイルを読み取る方法?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。