我有一个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;而不是预期的三个属性。
任何想法如何解决这个问题?感谢。
答案 0 :(得分:-1)
在循环中使用netCDF4包中的setncattr
方法。