エラーメッセージ
状態:-
閲覧数:463
投稿日:2017-10-28
更新日:2017-11-11
'ascii'コーデックはバイトをデコードできません
open() が CSV ファイルの読み込みに使われるため、ファイルはデフォルトではシステムのデフォルトエンコーディングでユニコード文字列にデコードされるため
・locale.getpreferredencoding() を参照
他のエンコーディングを用いてデコードするには?
・open の引数 encoding を設定する
Python3.6でutf8形式のCSVファイル読込する際、エラー発生
修正前
エラーメッセージ
修正後
[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)