python 读取netcdf4文件的全过程(基础教程,看了包会)

简介: 拿到一个nc文件,如何使用python进行读取呢?本文带你完整走一遍流程。

拿到一个nc文件,如何使用python进行读取呢?本文带你完整走一遍流程。

前期准备:


下面开始正式数据读取,第一步,打开基于你的python环境建立下的spyder编辑器(或者其他的编辑软件vscode、pycharm,本文以spyder为例,安装好anaconda后自然就有,默认为anaconda环境,我用的是自己配置的虚拟环境:py37)。


苹果系统下在命令行里之间conda install spyder,安装好spyder后输入:spyder就能启动了


25de0a20317140a59ad7287c71e76776.png

670e49addd704f6ea3c567808bb684c7.png


打开后进入如下的页面:一个待编辑的脚本,1号是输入代码的地方,2号是查看变量的地方,3号是可以进行一些命令输入的地方(如查看数据包含的变量内容等)。Windows系统下先ctrl+s保存脚本文件,并且重命名放在一个自己记得住位置的路径下,我这里选择放在桌面。


737c4749806644b2a0258215c665350a.png

6355773871c84bbab1decd3dbb1718a1.png


这样,一个python读取nc文件的脚本就建好了,下面就是正式擦刀处理的过程了。


步骤1:导入相关的库



通过import命令导入相关的库,各个库都在之前进行了安装,有的是软件自带的。各个库的简单作用如下:


# 读取nc文件
import xarray as xr
# 地图
import cartopy.crs as ccrs
# 进行数组计算
import numpy as np
# 进行绘图时使用
import matplotlib.pyplot as plt


步骤2:通过xarray 库进行读取nc文件



找到nc文件所在的路径,通过xarray 库进行读取

如图所示,我的nc文件放在桌面上,找到他,右击属性,打开后找到位置,选择复制下来:


3e0e7a9ed1ae4894a1cfb1f3a8f5cebc.png


ac558b04ba514475b7cd8b2e9fdb99a9.png


在代码编辑那一栏中,将刚刚复制的文件路径加上完整的文件名,赋给一个变量名为:path


path = r'D:\desktopppp\data.nc'


下面就可以通过xarray这个库进行读取了,同样赋给一个变量名为:data,代码如下:


path = r'D:\desktopppp\data.nc'
data=xr.open_dataset(path)


点击这里的三角形,运行代码:


fb193246eb8c4eaaae7f30105a308bc6.png


运行后,在右边的变量查看的地方发现就读取完成了:

9172d6e29a624f36a6b72d23a5802e66.png

这时,我们不清楚我们读取的这个nc文件里究竟有什么数据,所以如何查看nc文件里的变量呢。可以在3号区域中通过命令实现:在3号区域,输入我们刚刚命名的读取的data变量回车后得到我们这个nc文件中所涵盖的变量信息以及一些文件的其他属性:


73f839d8b2c74260981715fce231bb67.png


步骤3:读取文件中的变量



  • 对于nc文件中的变量进行读取
    那么如何读取我们需要的变量呢?比如说:经度、纬度、时间等等
    根据刚刚我们在3号区域中得到的文件信息,我们可以看到,这个文件有一个属性叫做:coordinates,如图所示:


52730dce0982425881f8bf278351284e.png


  • 我们就可以通过这里的coordinates进行读取,代码如下:


# 读取经度
lon=data.lon
# 读取纬度
lat=data.lat
# 读取时间
time=data.time


再次运行代码,就可以发现在右边的2号区域内看到所需要的变量了:


dbc68806f7044f4681a58909a1bd8b6a.png

同样可以在3号区域内,输入:lon、lat、time查看具体的信息:


e0ba2ae9a2f948ec91a10d711e2119cc.png


好了,这里看完你就已经学会nc文件的读取啦,包括查看变量信息等等。下面就是针对读取的变量进行数据处理啦。

同时,关于xarray的介绍可以查看下面的链接:


xarray介绍1:nc文件的读取、索引、切片、插值

xarray介绍2:nc文件的重采样、降维、分类、求平均、线性回归

xarray介绍3:nc文件的基础绘图


                  一个努力学习python的海洋人
                  水平有限,欢迎指正!!!
                  欢迎评论、收藏、点赞、转发、关注。
                  关注我不后悔,记录学习进步的过程~~
相关文章
|
2月前
|
开发者 Python
如何在Python中管理模块和包的依赖关系?
在实际开发中,通常会结合多种方法来管理模块和包的依赖关系,以确保项目的顺利进行和可维护性。同时,要及时更新和解决依赖冲突等问题,以保证代码的稳定性和可靠性
55 4
|
2月前
|
测试技术 Python
手动解决Python模块和包依赖冲突的具体步骤是什么?
需要注意的是,手动解决依赖冲突可能需要一定的时间和经验,并且需要谨慎操作,避免引入新的问题。在实际操作中,还可以结合使用其他方法,如虚拟环境等,来更好地管理和解决依赖冲突😉。
|
2月前
|
持续交付 Python
如何在Python中自动解决模块和包的依赖冲突?
完全自动解决所有依赖冲突可能并不总是可行,特别是在复杂的项目中。有时候仍然需要人工干预和判断。自动解决的方法主要是提供辅助和便捷,但不能完全替代人工的分析和决策😉。
|
18天前
|
计算机视觉 Python
如何使用Python将TS文件转换为MP4
本文介绍了如何使用Python和FFmpeg将TS文件转换为MP4文件。首先需要安装Python和FFmpeg,然后通过`subprocess`模块调用FFmpeg命令,实现文件格式的转换。代码示例展示了具体的操作步骤,包括检查文件存在性、构建FFmpeg命令和执行转换过程。
37 7
|
19天前
|
数据可视化 DataX Python
Seaborn 教程-绘图函数
Seaborn 教程-绘图函数
46 8
|
19天前
Seaborn 教程-主题(Theme)
Seaborn 教程-主题(Theme)
58 7
|
19天前
|
Python
Seaborn 教程-模板(Context)
Seaborn 教程-模板(Context)
47 4
|
19天前
|
数据可视化 Python
Seaborn 教程
Seaborn 教程
41 5
|
30天前
|
Python 容器
[oeasy]python048_用变量赋值_连等赋值_解包赋值_unpack_assignment _
本文介绍了Python中变量赋值的不同方式,包括使用字面量和另一个变量进行赋值。通过`id()`函数展示了变量在内存中的唯一地址,并探讨了变量、模块、函数及类类型的地址特性。文章还讲解了连等赋值和解包赋值的概念,以及如何查看已声明的变量。最后总结了所有对象(如变量、模块、函数、类)都有其类型且在内存中有唯一的引用地址,构成了Python系统的基石。
29 5
|
2月前
|
Python
Python的模块和包
总之,模块和包是 Python 编程中非常重要的概念,掌握它们可以帮助我们更好地组织和管理代码,提高开发效率和代码质量
44 5