当前位置: 代码迷 >> 综合 >> netCDF——创建一个nc文件并添加其他nc文件的数据
  详细解决方案

netCDF——创建一个nc文件并添加其他nc文件的数据

热度:2   发布时间:2023-12-14 07:38:42.0

使用有数据的nc文件直接赋值给创建的新的nc文件

代码展示

#引入包(不多介绍)
import netCDF4 as nc#引入有数据的nc文件链接
data_y = nc.Dataset('E:\pythonProject\org_IMERG_0.05deg_2021081401.nc')#创建自己的nc文件
data = nc.Dataset(r'.\filename_4.nc', 'w', format ='NETCDF4')#创建维度,第一个参数为维度名,第二个参数为维度长度
data.createDimension('lat',len(data_y['lat']))
data.createDimension('lon',len(data_y['lon']))创建变量,变量部分不需要传输数据
lat = data.createVariable('lat',np.float32,dimensions='lat')
lon = data.createVariable('lon',np.float32,dimensions='lon')
srains = data.createVariable('srain',np.float32,('lat','lon'),zlib=True,complevel=3)#把有数据的nc文件,赋值给创建的nc文件
data.variables['lat'][:] = data_y.variables['lat'][:]
data.variables['lon'][:] = data_y.variables['lon'][:]
data.variables['srain'][:] = data_y.variables['srain'][:]#最后把data关闭
data.close()

或者

把文件赋值给新的变量,在给nc文件,效果是一样的

代码展示

#引入包(不多介绍)
import netCDF4 as nc#引入有数据的nc文件链接
data_y = nc.Dataset('E:\pythonProject\org_IMERG_0.05deg_2021081401.nc')#nc文件赋值给新的变量
lat = data.variables['lat'][:]
lon = data.variables['lon'][:]
srain = data.variables['srain'][:]#创建自己的nc文件
data = nc.Dataset(r'.\filename_4.nc', 'w', format ='NETCDF4')#创建维度,第一个参数为维度名,第二个参数为维度长度(这里就可以直接给变量,不用给长度)
data.createDimension('lat')
data.createDimension('lon')创建变量,变量部分不需要传输数据
lat = data.createVariable('lat',np.float32,dimensions='lat')
lon = data.createVariable('lon',np.float32,dimensions='lon')
srains = data.createVariable('srain',np.float32,('lat','lon'),zlib=True,complevel=3)#传好数据的变量,赋值给新创建的nc文件data.variables['lat'][:] = lat
data.variables['lon'][:] = lon
data.variables['srain'][:] = srain#最后把data关闭
data.close()

小白原创,仅个人练习或温习专用,不要为了利益搬运就可以