问题描述
我在一个包含 .nc
文件的目录中有几个文件夹。在阅读时,我收到一个错误:“NETCDF 无法读取不受支持的文件”。由于有超过 5000 个文件,我不知道哪个文件已损坏或不受支持。有没有办法通过跳转到另一个支持的文件来读取文件。
我使用的代码是:
import xarray as xr
import numpy as np
import pandas as pd
ncfile = glob.glob('mydata/****/se*')
frame = pd.DataFrame()
for i in np.arange(len(ncfile)):
frame = frame
for j in np.arange(len(ds.variables['time'])):
ds1 = xr.open_dataset(ncfile[i])
prec = np.ravel(ds.variables['precipitation_amount'][j,:,:])
frame[dates] = prec
ds = xr.open_dataset(ncfile[i])
解决方法
您可以使用异常处理来做到这一点。我已经根据您的代码通过一个简单的示例展示了这一点:
import xarray as xr
import numpy as np
import pandas as pd
ncfile = glob.glob('mydata/****/se*')
frame = pd.DataFrame()
errors = []
for i in np.arange(len(ncfile)):
frame = frame
try:
ds = xr.open_dataset(ncfile[i])
except:
errors.append(ncfile[i])