当前位置: 代码迷 >> python >> 从异构文本文件中使用EXPONENTS提取数字
  详细解决方案

从异构文本文件中使用EXPONENTS提取数字

热度:73   发布时间:2023-07-16 10:26:58.0

我需要从文本文件中取出一些未格式化的数值数据。 在文本文件中,数字之间用单个空格隔开,多个位置用制表符隔开; 相当异类的文本:(我希望Python忽略所有空格/制表符,并标识整个数值并将它们放在数组/列表中。是否可以使用Python做到这一点?

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

我不想为此使用普通的字符串搜索(鉴于有许多字符串/单词无用/无用)。 文档没有提及此问题。

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

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

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

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

您可以使用正则表达式,例如\\s+([-+]?\\d*\\.?\\d+(?:[eE][-+]?\\d+)?)\\s+ (从改编)。 看一下 ,看看如何在文件中搜索正则表达式。