致全部:ValueError:Python中float()的无效字面积
我很好奇,如果有人能帮我理解错误:ValueError:float()的无效文字。当我传递一个文本文件到一个列表然后试图将这个列表转换为浮点值时,我得到了这个。
a = open("input.txt","r")
lines = a.readlines()
b = map(float, lines)
是什么奇怪的,至少对我来说,当我处理:
print repr(lines[0])
我得到:
“0.000 \ T0.000 ... \ T0.000 \ T0 .000 \ n”
和
print type(lines[0])
我得到:
<type 'str'>
我不明白为什么map(float,lines)不能正常工作。我是否错误地使用了这个功能?看看这个文档,map函数被给出为:map(function,iterable,...)。列表不可迭代吗?
此外,如果有人能解释这个错误/指向我解释这个错误的方向,我将不胜感激。
在此先感谢您对此问题的帮助。
你是说'0.000 \ T0.000 ... \ T0 .000 \ n'都是一行吗?如果是这样,那么我会假设这是传递给'float()'的东西,它不能转换。好像你需要把它分成单独的浮点值。是这样吗? – eldarerathis
@eldarerathis是的,它是一条线,但当我处理它似乎使它通过一定数量的值,然后给我的错误:b = map(float,lines) ValueError:无效文字为float():0.000 \t \t 0.000 0.000 0.000 \t \t \t 0.000 0.000 0.000 \t \t \t 0.000 0.000 0.000 \t \t \t 0.000 0。000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0.000 \t 0是不实际通过价值观? – geop
这看起来就像上面提到的那个字符串,但'\ t'显示为空格(即实际的制表符)。这是一个字符串文字,而不是一堆较短的文字,我猜测。 – eldarerathis