ホームページ  >  記事  >  バックエンド開発  >  エンコードエラーなしでPythonでUTF-8 CSVファイルを読み取る方法?

エンコードエラーなしでPythonでUTF-8 CSVファイルを読み取る方法?

Susan Sarandon
Susan Sarandonオリジナル
2024-11-03 12:40:311050ブラウズ

How to Read a UTF-8 CSV File with Python Without Encoding Errors?

Python で UTF8 CSV ファイルを読み取る

問題

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。