我需要读取一个数据文件,该文件包含使用(非常)旧的FORTRAN样式格式化的数字。 文件的一行看起来像这样:
4.500000+1 1.894719-3 4.600000+1 8.196721-3 4.700000+1 2.869539-3
这个文件(或其大部分)以固定宽度格式包含这些数字。在Python中读取这些数字的问题是这些数字中没有E
。看看会发生什么:
>>> float('4.50000+1')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ValueError: invalid literal for float(): 4.50000+1
我可以编写一个解析器来读取这个格式,但想知道是否已经有人做过了。这是一个旧的FORTRAN格式,因此我认为可能已经有人解决了这个问题。是否有人知道一个库可以读取这样的数字?
+
或-
前插入一个E
,然后 Python 将得到结果字符串。(假设这确实是它的意思)。 - hmakholm left over Monica