我使用以下代码使用f90nml
在python中打开一个.nml
文件(Fortran名称列表文件):
import f90nml
nml = f90nml.read('D:\data.nml')
但它返回以下错误:
File "D:\...\tokenizer.py", line 101, in parse
raise ValueError
我的文件夹还包含一个.dtd
文件。下图是.nml
文件(封闭形式)的一部分:
发布于 2019-06-28 06:05:23
在我看来,可能该文件使用的是XML
,而不是Namelist
文件。Fortran Namelist文件倾向于遵循以下结构
&Title
key1 = value1,
key2 = value2,
/
f90nml
假定文件包含上述形式的一个或多个名称列表条目。
您可以使用python内置的ElementTree对象来解析XML文件。然后执行您需要做的任何操作,将其转换为数据库格式。
发布于 2019-06-28 01:42:33
如果没有完整的数据集,很难弄清楚,但我建议您看看pynml,因为它似乎比f90nml有更多的功能。https://pynml.readthedocs.io/pynml/pynml.manager.html
https://stackoverflow.com/questions/56795486
复制相似问题