当前位置: 首页 > 面试题库 >

使用python复制netcdf文件

田远
2023-03-14
问题内容

我想使用Python制作netcdf文件的副本。

关于如何读取或写入netcdf文件,有很多很好的示例,但是也许还有一个很好的方法,可以进行变量的输入,然后输出到另一个文件。

一个好的方法很不错,以便以最低的成本获得尺寸和尺寸变量到输出文件。


问题答案:

我在python
netcdf上
找到了此问题的答案:制作了所有变量和属性的一个副本,但一个副本,但我需要对其进行更改以使其与我的python
/ netCDF4版本(Python 2.7.6 / 1.0.4)一起使用。如果需要添加或减去元素,则可以进行适当的修改。

import netCDF4 as nc

def create_file_from_source(src_file, trg_file):
    src = nc.Dataset(src_file)
    trg = nc.Dataset(trg_file, mode='w')

    # Create the dimensions of the file
    for name, dim in src.dimensions.items():
        trg.createDimension(name, len(dim) if not dim.isunlimited() else None)

    # Copy the global attributes
    trg.setncatts({a:src.getncattr(a) for a in src.ncattrs()})

    # Create the variables in the file
    for name, var in src.variables.items():
        trg.createVariable(name, var.dtype, var.dimensions)

        # Copy the variable attributes
        trg.variables[name].setncatts({a:var.getncattr(a) for a in var.ncattrs()})

        # Copy the variables values (as 'f4' eventually)
        trg.variables[name][:] = src.variables[name][:]

    # Save the file
    trg.close()

create_file_from_source('in.nc', 'out.nc')

此代码段已经过测试。



 类似资料:
  • 问题内容: 我需要在netcdf文件中处理一个实际上包含许多属性和变量的变量。我认为无法更新netcdf文件 我的方法如下: 从原始文件获取要处理的变量 处理变量 将所有数据从原始netcdf复制,但将已处理的变量复制到最终文件 将已处理的变量复制到最终文件 我的问题是对步骤3进行编码。我从以下内容开始: 如何在不重建整个数据结构的情况下将所有数据和属性保存在完整的代码中? 问题答案: 这就是我刚

  • 我是新使用python阅读文本文件。我需要读一个文件,每行有4个我需要的数据,这是我的文本文件 我的问题是,如果我使用,它只用每行创建一个向量,但是我只需要一个向量用于第一列,一个用于第二列,一个用于第三列,还有一个用于第四列...有谁能帮帮我吗?

  • 问题内容: 如何在Python中复制文件? 我找不到任何东西。 问题答案: ┌──────────────────┬────────┬───────────┬───────┬────────────────┐ │ Function │ Copies │ Copies │Can use│ Destination │ │ │metadata│permissions│buffer │may be dir

  • 我正在尝试使用请求发送带有Mailgun API的附加文件的电子邮件。邮递 在他们的文档中,他们提醒您在发送附件时必须使用多部分/表单数据编码,我正在尝试以下方法: 我已经定义了头,以确保内容类型是multipart/formdata,但是当我运行代码时,我得到一个400状态,原因是:请求错误 发生了什么?我需要确保我使用的是多部分/表单数据,并且正确使用了附件参数

  • 我正在下载netcdf格式的气候数据。对于每个变量(例如“降水量”),我需要合并9个netcdf,每个都属于一个独特的气候模型。每个netcdf具有相同的大小(time、lat、lon)。如何将9个3D netcdf合并为一个4D netcdf?最后,我想计算每月的累积降水量。这是我的当前代码: 上面的代码有效,但我正在创建一个大的3D netcdf,而不是一个仍然包含气候模型名称的4D。以下代码

  • 我使用的代码是: 而网站代码为: