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

您所在的位置:网站首页 nc文件读取变量无法识别怎么回事 【python海洋专题一】查看数据nc文件的属性并输出属性到txt文件

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

2024-07-09 23:38| 来源: 网络整理| 查看: 265

【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博客



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3