[英]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.