我必須讀取一個數據文件,其中包含使用(非常)舊FORTRAN樣式格式化的數字。文件的一行如下所示:用Python讀取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在結果字符串中。 (假設這就是它的實際含義)。 –
從來沒有見過像這樣的Fortran輸出 – agentp