エラーメッセージ
		
     状態:-
     閲覧数:513
		 投稿日: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)