Python:KeyError:分析多个netCDF文件时的“键”

时间:2018-07-10 18:19:30

标签: python netcdf keyerror

我对Python比较陌生,正在尝试分析netCDF文件的整个文件夹。当我尝试运行代码时,出现关键错误:u'satcode'。这是我的代码:

import netCDF4 as nc
import glob
import numpy as np

filenames = []
for name in glob.glob("/Users/my_name/Desktop/ISCCP/*"):
  print name
  filenames.append(name)
# below reads multiple files (file_list)
f = nc.MFDataset(filenames)

我知道f = nc.MFDataset(filenames)出错了,但是我不知道为什么。 我的回溯说:

  

runfile('/ Users / my_name / .spyder / West_Coast_Model.py',wdir ='/ Users / my_name / .spyder')   /用户/ my_name /桌面/ISCCP/ISCCP-Basic.HGG.v01r00.GLOBAL.1983.07.01.0000.GPC.10KM.CS00.EA1.00(5).nc   /用户/ my_name /桌面/ISCCP/ISCCP-Basic.HGH.v01r00.GLOBAL.1983.07.99.0300.GPC.10KM.CS00.EA1.00.nc   /用户/ my_name /桌面/ISCCP/ISCCP-Basic.HGH.v01r00.GLOBAL.1983.07.99.0600.GPC.10KM.CS00.EA1.00.nc   /用户/ my_name /台式机/ISCCP/ISCCP-Basic.HGH.v01r00.GLOBAL.1983.07.99.0900.GPC.10KM.CS00.EA1.00.nc   /用户/ my_name /桌面/ISCCP/ISCCP-Basic.HGH.v01r00.GLOBAL.1983.07.99.1200.GPC.10KM.CS00.EA1.00.nc   /用户/ my_name /桌面/ISCCP/ISCCP-Basic.HGH.v01r00.GLOBAL.1983.07.99.1500.GPC.10KM.CS00.EA1.00.nc   /用户/ my_name /桌面/ISCCP/ISCCP-Basic.HGH.v01r00.GLOBAL.1983.07.99.1800.GPC.10KM.CS00.EA1.00.nc   /用户/ my_name /桌面/ISCCP/ISCCP-Basic.HGH.v01r00.GLOBAL.1983.07.99.2100.GPC.10KM.CS00.EA1.00.nc   /用户/ my_name /桌面/ISCCP/ISCCP-Basic.HGH.v01r00.GLOBAL.1983.08.99.0000.GPC.10KM.CS00.EA1.00.nc   追溯(最近一次通话):

     

文件“”,第1行,在       运行文件('/Users/my_name/.spyder/West_Coast_Model.py',wdir ='/ Users / my_name / .spyder')

     

文件“ /Users/my_name/anaconda2/lib/python2.7/site-packages/spyder/utils/site/sitecustomize.py”,行705,在运行文件中       execfile(文件名,命名空间)

     

exec文件中的文件“ /Users/my_name/anaconda2/lib/python2.7/site-packages/spyder/utils/site/sitecustomize.py”,第94行       Builtins.execfile(文件名,* where)

     

文件“ /Users/my_name/.spyder/West_Coast_Model.py”,第20行,在       f = MFDataset(文件名)

     

> netCDF4._netCDF4.MFDataset中的文件“ netCDF4 / _netCDF4.pyx”,行5888。初始化

     

KeyError:u'satcode'

1 个答案:

答案 0 :(得分:1)

我想我已经解决了问题。文件中的第0个术语已损坏,因此我重新下载了该术语并将其转换为netCDF4_CLASSIC并成功运行。