1219振り返り①

python
エンコーディングについて

pythonでcsvファイルを読み込もうとした際、以下のようなエラーが発生。

'cp932' codec can't decode byte 0xef in position 0: illegal multibyte sequence

よくわからず、調べてみる。

デフォルトの標準出力がcp932になることが原因らしい。
コードページ932とは、マイクロソフトおよびMS-DOSのOEMベンダがShift-JISを独自に拡張した文字コードらしい。

要は、UTF-8→cp932に変更しようとして、できないことがエラーの要因なのかな。(文字コードの変換要因)

以下は、うまくいったコード 
12192.csvは自作のcsv

import csv

with open('12192.csv', encoding="utf_8") as file:
    reader = csv.reader(file)

    for row in reader:
        print(row)


「エンコーディング」とは、一般に「データを一定の規則に基づいて符号化すること」を指し、フォントの場合は「各文字の各種文字コード系による符号化」をいいます。

この記事が気に入ったらサポートをしてみませんか?