我正在尝试将 Fortran double (如 1.2345D+02)读入 python,但出现以下错误:
>>> float('1.2345D+02')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): 1.2345D+02
按照 Python scientific notation using D instead of E 上的建议进行操作,我试过 numpy 但我也得到了同样的错误:
import numpy
>>> numpy.float("1.2345D+02")
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): 1.2345D+02
在 Python 中是否有一种解决方案可以读取那些 double 字而不只是将“D”更改为“E”?
编辑:我替换了字符串上的错误语法。但我仍然遇到错误。
最佳答案
float(str.replace("D", "E"))
有什么问题?
请注意,numpy 确实支持 fortran 表示法:numpy.float("1.2345D+02")
。
您似乎有一些更深层的目的,也许阐明它会有所帮助。
关于python - 将 fortran double 格式读入 python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5989351/