2010-03-08 296 views
2

谷歌這次不是我的朋友。你知道Python模塊讀取通用文件格式(UFF)嗎?

這是最接近的我可以找到的文檔:http://go-ci.com/note/new/note_401.html。創建這個的人應該有http://sdrl.uc.edu/UFF2/58.asc,但它是404.

UFF顯然是科學軟件使用的格式。這不是廣泛使用,但一些舊的手工製作的程序需要它。

請大家注意,現在的問題是不是我應該與老程序或負責該:-P老程序員做

+0

我不知道有一個叫UFF標準。你有一個鏈接到規格? – Mizipzor 2010-03-08 14:44:24

+0

不能*那*通用然後... – 2010-03-08 14:46:48

回答

5

如果你指的是these許多「通用文件格式「,例如universal dataset 58和許多其他編號的數據集,我不認爲有任何Python庫直接讀取它們。我認爲您必須編寫自己的代碼,具體取決於您需要的「通用數據集」數量。這將是一些工作,但可能並不那麼糟糕:各種格式都記錄在Fortran IV中(讓您瞭解這些格式的近似年齡......),所以它們是如果您知道Fortran FORMAT符號,則不難解釋。例如,在58 UDV,第幾行被記錄爲

Record 1:  Format(80A1) 

意爲「80個字節被解釋爲一個單一的[[ASCII]]文本字節的字符串」;幾行下來,

Record 6:  Format(2(I5,I10),2(1X,10A1,I10,I4)) 

指「兩次5位整數,其後爲一個10位的整數;然後兩次的空間中,一個10字節的ASCII字符串,一個10位的整數,一個4位數字整數「,文檔中的以下行解釋了十個字段的含義(空格1X,沒有解釋;-) - 函數類型,代碼爲0代表通用或未知,1代表時間響應,2對於自動頻譜,...一直到27爲順序功能或28爲相位補償;然後是功能標識號碼;等等等等。

Fortran IV FORMAT語句格式不是那麼複雜並且被廣泛記錄,例如, here。或者,你可以編寫非常簡單的Fortran代碼,它只是應用這些文檔中給出的格式序列,並將其與f2py(或可能是pyfortran,但我認爲後者在過去幾年中未被維護Paul Dubois退休)。

還有一種可能性:python-fortranformat是專門用於在Python中使用fortran格式語句的工具。這是一項「正在進行中的工作」,但現在相當穩定。用easy_install -U fortranformat安裝。

+0

感謝亞歷克斯,總是很高興地讀你。 – 2010-03-08 15:35:16

+0

@ e-satis,不客氣! – 2010-03-08 15:35:48

相關問題