【发布时间】:2019-05-06 07:32:23
【问题描述】:
我正在尝试通过循环遍历子目录来制作大数据框。我想:
i) 从子目录中的所有文件(扩展名为 .nc)中读取数据, ii) 选择其中的一个特定部分 iii) 将其保存在 output.nc 文件中。
import os
import xarray as xr
import numpy as np
rootdir ='/Users/sm/Desktop/along_track_J2'
data_new=[]
for subdir, dirs, files in os.walk(rootdir):
for file in files:
file_name= os.path.join(subdir, file)
df=xr.open_dataset(file_name)
df['longitude'] = ((df.longitude + 180) % 360 - 180).sortby(df.longitude)
ds=df.where((df.longitude>=-65) & (df.longitude<=-45) & (df.latitude>55), drop=True)
data_new.append(ds)
xarray 不知何故无法读取文件,我看到以下错误:
文件“”,第 1 行,在 runfile('/Users/sm/Desktop/jason2_processing.py', wdir='/Users/sm/Desktop')
文件“/Users/sm/anaconda3/lib/python3.7/site-packages/spyder_kernels/customize/spydercustomize.py”,第 668 行,在运行文件中 execfile(文件名,命名空间)
文件“/Users/sm/anaconda3/lib/python3.7/site-packages/spyder_kernels/customize/spydercustomize.py”,第 108 行,在 execfile exec(编译(f.read(),文件名,'exec'),命名空间)
文件“/Users/sm/Desktop/jason2_processing.py”,第 18 行,在 df=xr.open_dataset(file_name)
文件“/Users/sm/anaconda3/lib/python3.7/site-packages/xarray/backends/api.py”,第 320 行,在 open_dataset **backend_kwargs)
文件“/Users/sm/anaconda3/lib/python3.7/site-packages/xarray/backends/netCDF4_.py”,第 331 行,打开 ds = opener()
文件“/Users/sm/anaconda3/lib/python3.7/site-packages/xarray/backends/netCDF4_.py”,第 230 行,在 _open_netcdf4_group ds = nc4.Dataset(filename, mode=mode, **kwargs)
文件“netCDF4/_netCDF4.pyx”,第 2123 行,在 netCDF4._netCDF4.Dataset.init
文件“netCDF4/_netCDF4.pyx”,第 1743 行,在 netCDF4._netCDF4._ensure_nc_success 中
OSError:[Errno -51] NetCDF:未知文件格式:b'/Users/sm/Desktop/along_track_J2/.DS_Store'
谁能帮我解决这个问题。提前谢谢你。
【问题讨论】:
标签: python loops python-xarray netcdf4