我有一个名为“foo.txt”的文本文件,其中有一个数字列表,每行一个,例如:
0.094195
0.216867
0.326396
0.525739
0.592552
0.600219
0.637459
0.642935
0.662651
0.657174
0.683461
我现在想把这些数字读入Python列表。我的代码如下:
x = []
file_in = open('foo.dat', 'r')
for y in file_in.read().split('\n'):
x.append(float(y))
但这给了我一个错误:
ValueError: could not convert string to float
我做错什么了?
编辑:
由martineau注释: 也可以使用
if y:
来消除None
或空字符串。原始答案:
由于使用换行符作为分隔符,因此失败,最后一个元素是空字符串
您可以添加
y.isdigit()
来检查y是否是数字。或者
您可以将
read().split("\n")
更改为readlines()
或者
从y中删除前导/尾随字符。它处理带有额外空白的行
相关问题 更多 >
编程相关推荐