首页 > 解决方案 > 如何从 R 中的多个(数千个)netcdf 文件中写入单个 CSV 文件

问题描述

我正在尝试从数千个 netcdf 文件中获取单个 csv 文件,其中每个文件代表一个时间点。这些文件包含时间、纬度、经度和 4 个不同的天气变量。我的想法是将文件合并到一个 netcdf 文件中,然后我可以从中编写一个 csv 文件,但我不确定如何用简单的代码合并 29000 个文件,而不必一遍又一遍地写入文件名。

标签: rexport-to-csvnetcdfcdo-climate

解决方案


使用 netCDF 运算符。要么cdo要么nco

要及时合并您的文件cdo,只需:

cdo mergetime input_files output_file

并使用 nco (根据https://linux.die.net/man/1/ncrcat):

ncrcat input_files outputfile

您可以input_files使用通配符指定*。基本上,如果您的数千个文件被命名为:file_000001.nc,file_000002.nc,...,file_vwxyz.nc,请执行以下操作:

cdo mergetime file_* files.nc

另一种方法是遍历文件名并使用 r 或您正在使用的任何工具执行所有操作。不过,cdo 或 nco 是解决您的问题的正确工具。


推荐阅读