2017-11-21 10 views
0
def get_info(file_object): 
    file_data = [] 
    opened_file = open(file_object, "r") 
    for line in opened_file: 
     line = line.split(",") 
     file_data.append(line) 
    opened_file.close() 
    return file_data 

def get_avg_mag(file_data): 
    sum = 0 
    for line in file_data: 
     mag = line[4] 
     mag = float(mag) 
     sum += mag 
    print(sum/len(file_data)) 

にリスト内の文字列オブジェクトを変換すると、上記のコードが実行されると、私はフロート

"ValueError: could not convert string to float:"

を言って、エラーメッセージを取得し、あなたがこれを得ている理由

答えて

0

私にはわかりませんエラーは、ファイルから行を読み込んでいるときに、最後に行ごとに改行文字が追加されるためです。したがって、最後の要素には小数点以下の値とともに\ nが含まれるため、ValueError:文字列をfloatに変換できませんでした。

for line in opened_file: 
    line = line.rstrip() 
    line = line.split(',') 
    file_data.append(line) 
- 以下のように行= line.rstrip()を追加することによって、新しい行をストライピングしよう