python 创建具有属性的 netCDF

python create netCDF with attributes

我有一个 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"/>

我希望这些属性在文件中,但在撰写本文时我不知道哪个属性在哪里,它的名称是什么等等。所以我遍历所有属性并编写类似于此的代码:

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

如果我这样做,我最终会在我的 netCDF 文件中得到 one 属性,其名称为 'attr_name' 且值为 'ncc1701' 而不是预期的三个属性。

有什么解决办法吗?谢谢

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