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:无法将字符串转换为float:”
我不知道为什么
答案 0 :(得分:1)
您收到此错误是因为当您从文件中读取行时,您还会在每行中获得一个新的行字符。所以你的最后一个元素包含一个\ n及其十进制值,因此ValueError:无法将字符串转换为float。
尝试通过添加line = line.rstrip()来条带化新行 -
for line in opened_file:
line = line.rstrip()
line = line.split(',')
file_data.append(line)