Python分隔数字,其中没有明显的分隔符号是可见的



我有一个文本文件,我正试图将其转换为可以进行数学运算的文件。

该文件的问题是,一些数字没有正确分开,如以下所示:

mylist = ['21', '0', '0-2.0000000000000E-001-6.0000000000000E+001']

现在我把所有的东西都作为一个字符串,并想把它转换成一个浮点值,但在这样做之前,我需要把最后三个数字分开,以获得以下输出:

mylist = ['21', '0', '0' , '-2.0000000000000E-001' , '-6.0000000000000E+001']

当减号出现时,我需要一些东西来分隔列表中的项目,除非减号前面有E.

应该对照更多的例子进行检查,但正则表达式可以做到这一点:

>>> from re import findall
>>> findall(r'[+-]?d+(?:.d+)?(?:E[+-]d+)?', ' '.join(mylist))
['21', '0', '0', '-2.0000000000000E-001', '-6.0000000000000E+001']

最新更新