I'm trying to convert a netCDF file to either a CSV or text file using Python. I have read this post but I am still missing a step (I'm new to Python). It's a dataset including latitude, longitude, time and precipitation data.
This is my code so far:
import netCDF4
import pandas as pd
precip_nc_file = 'file_path'
nc = netCDF4.Dataset(precip_nc_file, mode='r')
nc.variables.keys()
lat = nc.variables['lat'][:]
lon = nc.variables['lon'][:]
time_var = nc.variables['time']
dtime = netCDF4.num2date(time_var[:],time_var.units)
precip = nc.variables['precip'][:]
I am not sure how to proceed from here, though I understand it's a matter of creating a dataframe with pandas.
解决方案
I think pandas.Series should work for you to create a CSV with time, lat,lon,precip.
import netCDF4
import pandas as pd
precip_nc_file = 'file_path'
nc = netCDF4.Dataset(precip_nc_file, mode='r')
nc.variables.keys()
lat = nc.variables['lat'][:]
lon = nc.variables['lon'][:]
time_var = nc.variables['time']
dtime = netCDF4.num2date(time_var[:],time_var.units)
precip = nc.variables['precip'][:]
# a pandas.Series designed for time series of a 2D lat,lon grid
precip_ts = pd.Series(precip, index=dtime)
precip_ts.to_csv('precip.csv',index=True, header=True)
这篇博客介绍了如何使用Python的netCDF4和pandas库将NetCDF文件转换为CSV。内容包括读取NetCDF文件中的纬度、经度、时间和降水数据,然后创建一个时间序列DataFrame并将其保存为CSV文件。
704

被折叠的 条评论
为什么被折叠?



