最近,在处理数据过程中,需要将netcdf转化为csv格式。
1、确认安装了必要的包
from netCDF4 import Dataset
import numpy as np
import os
from pandas import Series
import netCDF4
import csv
2、打开nc文件,查看文件的纬度信息
path = r'H:\model_data\daily_model\sell_apply_precip1980-2000.nc'#选取一个nc文件路径
data= nc.Dataset(path)
print(path,type(path)) #查看nc文件的信息,包含曾处理的步骤信息也能看到
print(path.variables) #查看相关变量
3、取出维度信息,写入csv
precip= data.variables['precip'][:]#降水变量
lon=data.variables['lon'][:]#经度
lat=data.variables['lat'][:]#维度
time=data.variables['time'][:]#时间维
with open('precip.csv',mode='w') as ice_file:
ice_writer=csv.writer(ice_file,delimiter=',',quotechar='"',quoting=csv.QUOTE_MINIMAL)
ice_writer.writerow(['time','lat','lon','precip'])#依次是列名,时间,纬度,经度及降雨
for i in range(0,80):#80为我的纬度数量
print("row",i+1,"of 80")#打印转换进度
for j in range(0,720):#720为我的经度纬度
ice_writer.writerow([time[:],lat[i],lon[j],precip[:,i,j]])#写入到csv
本文参考:qq_26896611