在Python中自动处理科学计数法的数字

25 投票
1 回答
40865 浏览
提问于 2025-04-16 20:22

我正在从质谱仪读取数据文件,里面有很多数字是以科学计数法表示的,比如:

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

我打算使用分割函数来提取这两个数字,但我想知道有没有什么函数可以把第二列转换成Python中的浮点数?我知道可以用正则表达式来实现,但我觉得可能还有更好的方法。

谢谢!

1 个回答

39

float()这个构造函数可以接受用e表示法写的字符串:

>>> float("5.785e1")
57.85

所以你可以直接使用map(float, line.split())来把一行文本转换成一个浮点数的列表。

撰写回答