【python海洋专题一】查看数据nc文件的属性并输出属性到txt文件

【python海洋专题一】查看数据nc文件的属性并输出属性到txt文件
海洋与大气科学
在这里插入图片描述
软件
选择此软件是因为习惯了,matlab能看得到的界面。
新建文本

图片

导入相关库

import netCDF4,numpy

netCDF4:该包作用:读、写netCDF files.

numpy:该包作用:NumPy 提供全面的数学函数、随机数生成器、线性代数例程、傅立叶变换等。

导入相关库

from netCDF4 import Dataset

Dataset的功能:读取数据。

读取数据

a = Dataset(‘D:\pycharm_work\data\scs_etopo.nc’)

a存放着scs_etopo.nc数据的全部信息。

查看变量

print(a.variables.keys())

输出:

dict_keys([‘lat’, ‘lon’, ‘elevation’])

图片

从而知道scs_etopo.nc数据中有经纬度和高度信息。

print功能输出内容到当前屏幕或者工作空间。

查看文件详细信息

print(a);因为文件信息都存放在a中,因此输出a即可。

图片

title: The GEBCO_2020 Grid - a continuous terrain model for oceans and land at 15 arc-second intervals;

institution: On behalf of the General Bathymetric Chart of the Oceans (GEBCO);

source: The GEBCO_2020 Grid is the latest global bathymetric product released by the General Bathymetric Chart of the Oceans (GEBCO) ;

dimensions(sizes): lat(6000), lon(5040);

variables(dimensions): float64 lat(lat), float64 lon(lon), int16 elevation(lat, lon);

某个变量的详细信息

print(a.variables[‘elevation’])% 将具体的变量加入进去!

图片

可以看到:

elevation的:名称、单位、数组大小如下:

standard_name: height_above_reference_ellipsoid;

long_name: Elevation relative to sea level;

units: m;

current shape = (6000, 5040);

以上这么多相当于matlab的ncdisp 或者ncinfo

学习输出到txt文本

图片
图片

循环写入nc文件中的每一个变量。

for i in a.variables:
txt_file.write(i + “:” + str(a.variables[i][:]) +“\n”)

关闭文件

txt_file.close()

每个变量显示完全

图片

全文代码:

# -*- coding: utf-8 -*-
# %%
# Importing related function packages
import netCDF4,numpy
from netCDF4 import Dataset
# data's route
# %%
a = Dataset('D:\pycharm_work\data\scs_etopo.nc')
# %%
# export the variables to current screen
print(a.variables.keys())
# 查看nc文件有些啥东东
print(a)
print('---------------------------------------')
# %%
# 查看nc文件中的变量
print(a.variables.keys())
for i in a.variables.keys():
    print(i)
print('---------------------------------------')
# %%
# 查看每个变量的信息
print(a.variables['lat'])
print(a.variables['lon'])
print(a.variables['elevation'])
# %% 将变量信息写入文本txt
# 以写入模式打开txt文本
txt_file = open("variable.txt","w")
# 循环写入nc文件中的每一个变量。
for i in a.variables:
    txt_file.write(i + ":" + str(a.variables[i][:]) +"\n")
# 关闭文件
txt_file.close()
# 以写入模式打开txt文本
txt_file = open("variable1.txt","w")
# 循环写入nc文件中的每一个变量。
for variable in a.variables:
    # 获取变量的数值
    var_value = a.variables[variable][:]
    # 将变量的名称和数值对应起来,并输入到txt;
    txt_file.write(f"{variable}: {var_value}\n")
# 关闭文件
txt_file.close()
# 03
# 以写入模式打开txt文本
variables = a.variables.keys()
txt_file = open("variable2.txt","w")
# 循环写入nc文件中的每一个变量。
for variable in a.variables:
    # 获取变量的数值
    var_value = a.variables[variable][:]
    # 将变量的名称和数值对应起来,并输入到txt;
    txt_file.write('变量名:' + variable + '\n')
    txt_file.write('数据:\n')
    # 遍历维度
    for j in range(var_value.shape[0]):
        txt_file.write(str(var_value[j]) + '\n')
    txt_file.write('\n')
# 关闭文件
txt_file.close()
a.close()

本文参考来源于以下:特别感谢!

1:给我一个利用python读取nc文件,并将其转化成txt文件并保存的程序,带中文注释 - CSDN文库

2:nc文件python读取变量值_python 查看nc变量取值范围_Tine Chan的博客-CSDN博客

3:python简单读取和索引.nc文件(气象小白入门版)_python读取nc文件_胡修修的博客-CSDN博客

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

海洋与大气科学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值