簡體   English   中英

使用 python、R 或 cdo 將 csv 文件轉換為 netcdf

[英]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')`

非常感謝。

1 個網格的樣子

dataframe(共15841列)

dataframe 轉置后

您需要為 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM