代码之家  ›  专栏  ›  技术社区  ›  Bite code

你知道一个python模块来读取通用文件格式(uff)吗?

  •  2
  • Bite code  · 技术社区  · 14 年前

    谷歌这次不是我的朋友。

    这是我能找到的最接近医生的地方: http://go-ci.com/note/new/note_401.html . 创造它的人应该在 http://sdrl.uc.edu/UFF2/58.asc 但那是404。

    uff显然是科学软件使用的一种格式。这并没有被广泛使用,但是一些手工制作的旧程序需要它。

    请注意,现在的问题不是我应该对旧程序做什么,也不是我应该对负责这个问题的旧程序员做什么。

    2 回复  |  直到 14 年前
        1
  •  5
  •   Brendan    13 年前

    如果你指的是 these 许多“通用文件格式”,例如 universal dataset 58 还有许多其他编号的数据集,我认为没有任何python库可以直接读取它们。我认为你将不得不编写自己的代码,这取决于你需要多少“通用数据集”。

    这将是一项工作,但也许不是那么糟糕:各种格式都记录在fortran iv中(让您了解这些格式的大致年代…!),因此如果您知道Fortran格式表示法,就不难理解它们。例如,在udv 58中,前几行记录为

    Record 1:     Format(80A1)
    

    意思是“80字节被解释为单个[[ascii]]文本字节字符串”;下面几行,

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

    意思是“两个5位数的整数后接一个10位数的整数;然后两个空格,一个10字节的ascii字符串,一个10位数的整数,一个4位数的整数”,文档中的以下几行解释了10个字段的含义(空格1X,不作解释;-)--函数类型,代码为0代表G一般或未知,1表示时间响应,2表示自动频谱,…一直到27为阶函数或28为相位补偿;然后是函数标识号;等等。

    Fortran IV格式的语句格式并没有那么复杂,而且被广泛记录,例如 here . 或者,您可以编写非常简单的fortran代码,该代码只应用那些文档中给定的格式序列,并使其成为python扩展 f2py (或者) pyfortran 但我认为,随着保罗•杜波伊斯(paul dubois)退休,后者在过去几年中没有得到维持。

    还有一种可能性: python-fortranformat 是一个在python中使用fortran格式语句的工具。这是一个“正在进行的工作”,但现在相当稳定。安装与 easy_install -U fortranformat .

        2
  •  6
  •   jankos    8 年前