python - 从异构文本文件中提取带有指数的数字

标签 python python-2.7

我需要从文本文件中取出一些未格式化的数字数据。在文本文件中,数字在某处由单个空格分隔,某处由多个空格分隔,某处由制表符分隔;相当异构的文本:( 我希望 Python 忽略所有空格/制表符并识别整个数值并将它们放入数组/列表中。是否可以使用 Python 来完成此操作?

编辑:有很多用科学/指数表示法写的数字,例如1.2345E+06,Python 不将它们识别为数字。所以 \d 不能简单地工作:(

我不想为此目的使用普通的字符串搜索(因为有许多字符串/单词不感兴趣/无用)。 regular expression module文档没有提到这个问题。

最佳答案

如果行类似于“2.3e4 ”或“2.6”左右,请尝试:

^\s*?([+-]?\d+(\.\d+)?(e[+-]?\d+)?)\s*$

注意到\s*了吗?标记(非贪婪零/多个空格)。不要忘记那里的问号 - 不包括问号将使您由于贪婪而仅捕获号码的最后一位数字。

AFAIK 除了表示数字的\d 之外,Python 没有特殊符号来捕获数字

关于python - 从异构文本文件中提取带有指数的数字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22604068/

相关文章:

python - 从 .py 文件加载的 Monkeypatching 硬编码全局配置

python - 使用时间序列数据在 Python 中将单个 Pandas DataFrame 拆分为 N 个 DataFrame

python - 如何向 Seaborn 分布图添加均值线和中线

python-2.7 - 如何使用 FeatureUnion 转换流水线中的多个特征?

python - 将颜色条添加到频谱图中

python dataset - 读取一组列并将其放入单独的数据框中?

python - 如何从 telnetlib 命令只读取最后一个缓冲区

python - 用字典中的值替换列表中的单词

Python/Django - HTTP 身份验证

python - k-means 上 sklearn 中的 dtype 不匹配