[英]convert csv file to netcdf using python, R or cdo
我是 python 的新手,我很难转换文件格式。 我有一个包含 15.841 列的 csv 文件(每列的第一行是 lon,第二行是 lat,第三行是值)。 我想创建一个具有 15.841 个网格的 NetCDF 文件,每个网格的坐标将是 lon-lat 信息和 1 个值(例如,参见附件1 )。 没有时间信息。 你能帮我解决这个问题吗? 此外,如果有人有 cdo 或 R 的解决方案,我们也欢迎。
到目前为止,我的 Python 代码:
`导入 pandas 作为 pd
df = pd.read_csv('C:/anaconda/final_era5_prec.csv')
反式 = df.transpose()
trans.columns = trans.columns.map(str)
df = trans.set_index(["lat", "lon"])
xr = df.to_xarray()
xr.to_netcdf('/mnt/data/final_era5_prec.nc')`
非常感谢。
您需要为 dataframe 创建一个多索引。 以下将创建一个更好的 netCDF 文件:
import pandas as pd
df = pd.read_csv('/mnt/data/final_era5_prec.csv')
df = df.set_index(["lat", "lon"])
xr = df.to_xarray()
xr.to_netcdf('/mnt/data/final_era5_prec.nc')`
请注意,这只有在您有纬度网格时才能正常工作。 如果要创建类似于 CF 兼容的 netCDF 文件的内容,则需要根据网格类型修改工作流。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.