【发布时间】:2011-09-23 10:34:57
【问题描述】:
我正在从质谱仪读取数据文件,其中许多数字都是 e 格式,例如
4096.26 5.785e1
4096.29 5.784e1
4096.31 5.784e1
4096.33 5.784e1
4096.36 5.783e1
我打算使用 split 函数来获取这两个数字,但我想知道是否有一个函数可以将第二列转换为 python 浮点数?我知道我可以用正则表达式做到这一点,但认为可能有更好的方法
谢谢
【问题讨论】:
我正在从质谱仪读取数据文件,其中许多数字都是 e 格式,例如
4096.26 5.785e1
4096.29 5.784e1
4096.31 5.784e1
4096.33 5.784e1
4096.36 5.783e1
我打算使用 split 函数来获取这两个数字,但我想知道是否有一个函数可以将第二列转换为 python 浮点数?我知道我可以用正则表达式做到这一点,但认为可能有更好的方法
谢谢
【问题讨论】:
float() 构造函数将接受 e 表示法中的字符串:
>>> float("5.785e1")
57.85
因此您可以简单地使用map(float, line.split()) 将文本行转换为浮点数列表。
【讨论】:
8.7e-07 这不是浮点数
float() 构造函数返回的对象始终是float。