参考自:用Python批处理指定数据-以WRF输出结果为例演示按照指定维度合并(附示例代码)-腾讯云开发者社区-腾讯云
- #下面将分别展示选择单个变量进行合并以及将所有变量按照指定维度进行合并。
- #1.以单个变量P为例,可以根据需求更改,按照时间顺序进行合并,这里使用了concat函数。
- import os
- path = "/mnt/wtest1/add.nc/"
- dirs= os.listdir(path)
- print(dirs)
-
- #创建空列表,并通过xr读取nc文件中的元素P
- file_list = []
- for i in dirs:
- print(i) #输出列表中的文件元素。
- ds = xr.open_dataset(path+i)
- P=ds['P']
- #print(P)
- file_list.append(ds['P'])
- #print(file_list)
- #print(ds)
- #print(ds['Time'])
- Data=xr.concat(file_list, "Time")
- #print(Data)
- Data.to_netcdf(path+"wrf_P.nc") #保存为xindenc文件
-
-
-
- #2.将所有变量,按照时间顺序进行合并
- import os
- import xarray as xr
- path = "/mnt/wtest1/add.nc/"
- dirs= os.listdir(path)
- print(dirs)
-
- file_list=[]
- for i in dirs:
- print(i) #输出列表中的文件元素。
- ds = xr.open_dataset(path+i)
- file_list.append(ds)
-
- Data=xr.concat(file_list, 'Time')
- Data.to_netcdf(path+"wrf_data.nc")
- #本人的电脑超过三个netcdf数据合并kernels会崩掉。因此需要基于自己的电脑设置。