python使用属性创建netCDF

时间:2016-10-20 08:23:13

标签: python xml netcdf

我有一个XML文件,我想将其作为netCDF文件的基础。我可以在python中读取XML文件并创建netCDF文件。

XML文件中的每个组或变量都有属性,我想将它们添加到netCDF文件中。我的问题是我不知道属性的名称,这一切都需要自动完成。

在python中为netCDF创建和添加属性的常用方法是这样的:

grp.attr = 'name'

我现在需要自动执行此操作,我不知道' attr'真的是。如果我使用' attr'作为变量名,' attr'将被添加到netCDF文件而不是实际名称。

我会尝试说明这一点。假设我的组有三个属性叫做:

<attribute name="alphabet" value="abc"/>
<attribute name="number" value="42"/>
<attribute name="version" value="ncc1701"/>

我希望这些属性存在于文件中,但在编写本文时,我无法确定哪个属性将是什么,它的名称是什么等等。所以我遍历所有属性并编写类似于此的代码:< / p>

for att in list_attributes:
  attr_name = att.name
  attr_value = att.value
  grp.attr_name = attr_value

如果我这样做,我的netCDF文件中会出现一个属性,名称为&#39; attr_name&#39;和价值&#39; ncc1701&#39;而不是预期的三个属性。

任何想法如何解决这个问题?感谢。

1 个答案:

答案 0 :(得分:-1)

在循环中使用netCDF4包中的setncattr方法。