一些由 Fortran 程序生成的结果文件使用字母 D
而不是 E
来报告 double 字(以科学记数法),例如:
1.2345D+02
# instead of
1.2345E+02
我需要使用 Python 处理大量此类数据,我才意识到它无法读取 D
表示法中的数字,例如:
>>> A = 1.0D+01
File "<stdin>", line 1
A = 1.0D+01
^
SyntaxError: invalid syntax
我可以更改语言环境并让 Python 知道 D
表示 E
吗?我真的不想进行全局搜索和替换!
最佳答案
在您的 Python 程序中,最简单的方法是在解释每个条目之前添加一个步骤:
>>> val = "1.5698D+03" # 1,569.8
>>> print float(val.replace('D', 'E'))
1569.8
关于使用 D 代替 E 的 Python 科学记数法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1959210/