Pythonでデータを収集してcsvとして保存するのですが、ファイルの内容が文字化けする問題を解決するにはどうすればよいですか?

Python プログラムで収集したデータを CSV 形式ファイルに保存すると文字化けする場合は、次の解決策を試すことができます。

1. CSVファイルを開く際のエンコード方法を指定する

Python の関数を使用してopen()CSV ファイルを開き、open()関数内のファイル エンコード方式を CSV ファイルの元のエンコード方式として指定できます。CSV ファイルの元のエンコードが UTF-8 の場合、open()関数でエンコードを指定できます"utf-8-sig"サンプルコードは次のとおりです。

import csv

with open('output.csv', 'w', newline='', encoding='utf-8-sig') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow(['列1', '列2'])
    writer.writerow(['a', '1'])
    writer.writerow(['b', '2'])

この例では、ファイルを開きoutput.csv、エンコーディングを として指定し"utf-8-sig"csv.writer()関数を使用してデータをファイルに書き込みます。

2. データを Unicode エンコードに変換する

データを CSV ファイルに書き込む前に Unicode エンコードに変換することも一般的な回避策です。Python の関数を使用してunicode()、文字列型データを Unicode エンコーディングに変換できます。サンプル コードは次のとおりです。

import csv

with open('output.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile)
    writer.writerow([unicode('列1', 'utf-8'), unicode('列2', 'utf-8')])
    writer.writerow([unicode('a', 'utf-8'), unicode('1', 'utf-8')])
    writer.writerow([unicode('b', 'utf-8'), unicode('2', 'utf-8')])

この例では、unicode()関数を使用して文字列型データを Unicode エンコーディングに変換し、csv.writer()関数を使用してデータをファイルに書き込みます。

Supongo que te gusta

Origin blog.csdn.net/fei347795790/article/details/131021294
Recomendado
Clasificación