首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在python (ValueError)中打开.nml (fortran名称列表文件)

在python (ValueError)中打开.nml (fortran名称列表文件)
EN

Stack Overflow用户
提问于 2019-06-28 00:44:09
回答 2查看 373关注 0票数 0

我使用以下代码使用f90nml在python中打开一个.nml文件(Fortran名称列表文件):

代码语言:javascript
运行
复制
import f90nml
nml = f90nml.read('D:\data.nml')

但它返回以下错误:

代码语言:javascript
运行
复制
  File "D:\...\tokenizer.py", line 101, in parse
    raise ValueError

我的文件夹还包含一个.dtd文件。下图是.nml文件(封闭形式)的一部分:

EN

回答 2

Stack Overflow用户

发布于 2019-06-28 06:05:23

在我看来,可能该文件使用的是XML,而不是Namelist文件。Fortran Namelist文件倾向于遵循以下结构

代码语言:javascript
运行
复制
&Title
key1 = value1,
key2 = value2, 
/

f90nml假定文件包含上述形式的一个或多个名称列表条目。

您可以使用python内置的ElementTree对象来解析XML文件。然后执行您需要做的任何操作,将其转换为数据库格式。

票数 0
EN

Stack Overflow用户

发布于 2019-06-28 01:42:33

如果没有完整的数据集,很难弄清楚,但我建议您看看pynml,因为它似乎比f90nml有更多的功能。https://pynml.readthedocs.io/pynml/pynml.manager.html

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56795486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档