CSVに書かれてある数字をfloat()で小数に変換したいのですが、エラーが出ます。
下のようなコードを書きました。
python
1import csv 2from getenc import getEncode 3 4 5CSVFILE = 'D:\デスクトップ\recipe_amazu.csv' 6# 文字コードが不明な場合でも読み込める 7enc = getEncode(CSVFILE) 8with open(CSVFILE, 'r', encoding=enc) as csvfile: 9 csv_reader = csv.reader(csvfile, delimiter=',', quotechar='"') 10 for row in csv_reader: 11 CSVtext = row 12 13for i in range(2,len(CSVtext), 2): 14 if i < 21: 15 print(CSVtext[i+1]) 16 flo = float(CSVtext[i+1]) 17 print(flo)
実行結果は以下のようになりました。
Traceback (most recent call last): 300 File "C:/ファイルのある場所/otamesi2.py", line 19, in <module> flo = float(CSVtext[i+1]) 300.0 50 ValueError: could not convert string to float: 50.0
これはCSVデータの中にfloatに変換できない文字列があるからエラーになるのだと思います。一つ一つデータを調べてみるというのも良いかと思います
回答1件
あなたの回答
tips
プレビュー