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的海洋人
                  水平有限,欢迎指正!!!
                  欢迎评论、收藏、点赞、转发、关注。
                  关注我不后悔,记录学习进步的过程~~
相关文章
|
1月前
|
存储 人工智能 运维
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
194 48
【01】做一个精美的打飞机小游戏,浅尝阿里云通义灵码python小游戏开发AI编程-之飞机大战小游戏上手实践-优雅草央千澈-用ai开发小游戏尝试-分享源代码和游戏包
|
9天前
|
机器学习/深度学习 存储 算法
解锁文件共享软件背后基于 Python 的二叉搜索树算法密码
文件共享软件在数字化时代扮演着连接全球用户、促进知识与数据交流的重要角色。二叉搜索树作为一种高效的数据结构,通过有序存储和快速检索文件,极大提升了文件共享平台的性能。它依据文件名或时间戳等关键属性排序,支持高效插入、删除和查找操作,显著优化用户体验。本文还展示了用Python实现的简单二叉搜索树代码,帮助理解其工作原理,并展望了该算法在分布式计算和机器学习领域的未来应用前景。
|
9天前
|
JSON 数据可视化 API
Python 中调用 DeepSeek-R1 API的方法介绍,图文教程
本教程详细介绍了如何使用 Python 调用 DeepSeek 的 R1 大模型 API,适合编程新手。首先登录 DeepSeek 控制台获取 API Key,安装 Python 和 requests 库后,编写基础调用代码并运行。文末包含常见问题解答和更简单的可视化调用方法,建议收藏备用。 原文链接:[如何使用 Python 调用 DeepSeek-R1 API?](https://apifox.com/apiskills/how-to-call-the-deepseek-r1-api-using-python/)
|
1月前
|
人工智能 Python
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
【02】做一个精美的打飞机小游戏,python开发小游戏-鹰击长空—优雅草央千澈-持续更新-分享源代码和游戏包供游玩-记录完整开发过程-用做好的素材来完善鹰击长空1.0.1版本
54 7
|
26天前
|
测试技术 Python
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
101 31
【03】做一个精美的打飞机小游戏,规划游戏项目目录-分门别类所有的资源-库-类-逻辑-打包为可玩的exe-练习python打包为可执行exe-优雅草卓伊凡-持续更新-分享源代码和游戏包供游玩-1.0.2版本
|
20天前
|
IDE 测试技术 项目管理
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
PyCharm是由JetBrains开发的Python集成开发环境(IDE),专为Python开发者设计,支持Web开发、调试、语法高亮、项目管理、代码跳转、智能提示、自动完成、单元测试和版本控制等功能。它有专业版、教育版和社区版三个版本,其中社区版免费且适合个人和小型团队使用,包含基本的Python开发功能。安装PyCharm前需先安装Python解释器,并配置环境变量。通过简单的步骤即可在PyCharm中创建并运行Python项目,如输出“Hello World”。
189 13
【新手必看】PyCharm2025 免费下载安装配置教程+Python环境搭建、图文并茂全副武装学起来才嗖嗖的快,绝对最详细!
|
19天前
|
监控 网络安全 开发者
Python中的Paramiko与FTP文件夹及文件检测技巧
通过使用 Paramiko 和 FTP 库,开发者可以方便地检测远程服务器上的文件和文件夹是否存在。Paramiko 提供了通过 SSH 协议进行远程文件管理的能力,而 `ftplib` 则提供了通过 FTP 协议进行文件传输和管理的功能。通过理解和应用这些工具,您可以更加高效地管理和监控远程服务器上的文件系统。
48 20
|
25天前
|
存储 数据采集 数据处理
如何在Python中高效地读写大型文件?
大家好,我是V哥。上一篇介绍了Python文件读写操作,今天聊聊如何高效处理大型文件。主要方法包括:逐行读取、分块读取、内存映射(mmap)、pandas分块处理CSV、numpy处理二进制文件、itertools迭代处理及linecache逐行读取。这些方法能有效节省内存,提升效率。关注威哥爱编程,学习更多Python技巧。
|
26天前
|
存储 JSON 对象存储
如何使用 Python 进行文件读写操作?
大家好,我是V哥。本文介绍Python中文件读写操作的方法,包括文件读取、写入、追加、二进制模式、JSON、CSV和Pandas模块的使用,以及对象序列化与反序列化。通过这些方法,你可以根据不同的文件类型和需求,灵活选择合适的方式进行操作。希望对正在学习Python的小伙伴们有所帮助。欢迎关注威哥爱编程,全栈路上我们并肩前行。
|
1月前
|
存储 算法 Serverless
剖析文件共享工具背后的Python哈希表算法奥秘
在数字化时代,文件共享工具不可或缺。哈希表算法通过将文件名或哈希值映射到存储位置,实现快速检索与高效管理。Python中的哈希表可用于创建简易文件索引,支持快速插入和查找文件路径。哈希表不仅提升了文件定位速度,还优化了存储管理和多节点数据一致性,确保文件共享工具高效运行,满足多用户并发需求,推动文件共享领域向更高效、便捷的方向发展。

热门文章

最新文章