UnicodeDecodeError: 'ascii' codec can't decode byte

エラーUnicodeEncodeError

エラーメッセージ

 状態:-  閲覧数:570  投稿日:2017-10-28  更新日:2017-11-11  
'ascii'コーデックはバイトをデコードできません
[error] UnicodeDecodeError: 'ascii' codec can't decode byte


エラー原因


open() が CSV ファイルの読み込みに使われるため、ファイルはデフォルトではシステムのデフォルトエンコーディングでユニコード文字列にデコードされるため
locale.getpreferredencoding() を参照


エラー対応


他のエンコーディングを用いてデコードするには?
・open の引数 encoding を設定する


遭遇例


Python3.6でutf8形式のCSVファイル読込する際、エラー発生

修正前
import csv

csvfile = open('../../data/chp3/data-text.csv', 'rb')
reader = csv.reader(csvfile)


エラーメッセージ
[error] UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 1015: ordinal not in range(128), referer:

修正後
import csv

csvfile = open('../../data/chp3/data-text.csv', 'r', encoding='utf8')
reader = csv.reader(csvfile)



UnicodeEncodeError: 'ascii' codec can't encode characters

コメント投稿(ログインが必要)



週間人気ページランキング / 6-21 → 6-27
順位 ページタイトル抜粋 アクセス数
1 Python用語 16
2 インポート | インポートシステム 1
2 AttributeError: type object 'datetime.datetime' has no attribute 'datetime' | AttributeError(エラー) 1
2026/6/28 5:05 更新