我有一个大型文件,其中包含数字6,52353753563E-7.所以在那个字符串中有一个指数.float()死在这上面.
虽然我可以编写自定义代码来预处理字符串到float()可以吃的东西,但我正在寻找将它们转换为浮点数的pythonic方法(类似于传递到某处的格式字符串).我必须说我很惊讶float()无法用这样的指数处理字符串,这是非常常见的东西.
我正在使用python 2.6,但如果需要,3.1是一个选项.
Joh*_*hin 14
与指数无关.问题是逗号而不是小数点.
>>> float("6,52353753563E-7")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): 6,52353753563E-7
>>> float("6.52353753563E-7")
6.5235375356299998e-07
Run Code Online (Sandbox Code Playgroud)
有关一般方法,请参阅locale.atof()