使用字典将两个netCDF文件保存为一个文本文件

2024-10-04 11:30:17 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试使用字典将两个netCDF文件保存到一个文本文件中。我能够定义一个zeros numpy数组,但是当我需要用我在字典中定义的变量填充它的时候,我得到了一个错误

我认为这与前面的一些问题中提到的[]的使用有关,但我试过了,我仍然有这个问题。 我的意思是在代码的第二部分

我得到的错误是: “TypeError:‘dict_keys’对象不可调用”

这是与2个nc文件的链接: Temperature netCDF files

#Script for reading .nc temperature files (max and minimum) for calculation of PHU
#Last modification: 22.6.19

import numpy as np
import netCDF4 as nc
import os

#Defining working directory
os. chdir('/mnt/lustre02/work/ch0636/g260150/sims/validation/selectedmodelRCPs/RCP2.6/Model1/')


#Defining each temperature nc. files through a dictionary

dictionary={'tempmax':['/mnt/lustre02/work/ch0636/g260150/sims/validation/selectedmodelRCPs/RCP2.6/Model1/tmax.nc','tasmax'],
'tempmin':['/mnt/lustre02/work/ch0636/g260150/sims/validation/selectedmodelRCPs/RCP2.6/Model1/tmin.nc','tasmin']}

acum={}

for var in dictionary.keys():
    defi=dictionary[var]    
    temp1=nc.Dataset(defi[0],'r').variables[defi[1]][:,0,0]
    acum[var]=temp1

texto=np.zeros((acum['tempmax'].size, len(acum.keys())))

for i in range(len(acum.keys())):
      texto[:,i]=(acum[acum.keys()(i)])

texto[:,0]=nc.Dataset(dictionary['tempmax'][0],'r').variables[dictionary['tempmax'][1][:]]

np.savetxt('temperatures.txt',texto,fmt='%8d')

Tags: importfordictionarynpfileskeysworknc