UnicodeDecodeError: 'ascii' codec can't decode byte

エラーUnicodeEncodeError

エラーメッセージ

 状態:-  閲覧数:532  投稿日: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

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



週間人気ページランキング / 12-11 → 12-17
順位 ページタイトル抜粋 アクセス数
1 _csv.Error: iterator should return strings, not bytes (did you open the file in text mode?) | エラー 1
1 ゲストコメント一覧ページ 1
2025/12/18 1:02 更新