pythonで以下のようにCSVファイルを読み込もうとしたときにエラーが発生した
with open(data_file, encoding="utf-8") as f:
for j in range(1, 40):
next(f)
reader = csv.DictReader(f, delimiter=",")
for row in reader:
print('row['revenue']:')
読み込みファイルの形式を確認してみるとUnicodeのBOM付きとなっていた
読み込む形式指定をUTF-8にしていたので文字コードが原因ぽいか
そこで文字コードをutf-16としてインポートするとうまく行った
以下修正版
import codecs
with codecs.open(data_file, 'r', 'utf-16', 'ignore') as f:
for j in range(1, 40):
next(f)
reader = csv.DictReader(f, delimiter=",")
for row in reader:
print('row['revenue']:')
この場合UTF-16にしたらできた
エラー内容には直接文字コードが間違っているとは出てなかったが文字コード修正で今回はうまくいった
これが正解かはわからないがご参考に
コメント