在python中自动处理e(科学)表示法中的数字

时间:2011-06-27 11:23:52

标签: python numbers

我正在读取质谱仪的数据文件,许多数字都是e形式,例如

4096.26 5.785e1
4096.29 5.784e1
4096.31 5.784e1
4096.33 5.784e1
4096.36 5.783e1

我打算使用split函数来获取两个数字,但我想知道是否有一个函数将第二列转换为python浮点数?我知道我可以用正则表达式来做,但认为可能有更好的方法

谢谢

1 个答案:

答案 0 :(得分:27)

float()构造函数将接受e表示法中的字符串:

>>> float("5.785e1")
57.85

因此,您只需使用map(float, line.split())将文本行转换为浮动列表。