大家好, 我想在文件中加载我的数据,如下所示:
21.4,0.266667,0,0.966667,0.166667,0.966667,0.533333,0.1,...............
现在,我想从文件中加载它并计算规范化。我这样做:
f = open("Input.txt", "r")
data = [line.strip() for line in f]
print data
norm = [float(i)/sum(data) for i in data]
print norm
但是,我收到了错误:
ValueError: invalid literal for float()
虽然,我在linux中直接进入python 2.7控制台,
a = [21.4,0.266667,0,0.966667,0.166667,0.966667,0.533333,0.1]
norm = [float(i)/sum(a) for i in a]
print norm
这很好用。我不知道我做错了什么。请帮助我,我是编程新手。提前谢谢!
答案 0 :(得分:2)
您需要先将文件中的字符串转换为浮点数。
data = []
with open('Input.txt') as f:
for line in f:
data.extend([float(x) for x in line.split(',')])
norm = [x/sum(data) for x in data]