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的海洋人
                  水平有限,欢迎指正!!!
                  欢迎评论、收藏、点赞、转发、关注。
                  关注我不后悔,记录学习进步的过程~~
相关文章
|
10月前
|
数据可视化 Linux iOS开发
Python脚本转EXE文件实战指南:从原理到操作全解析
本教程详解如何将Python脚本打包为EXE文件,涵盖PyInstaller、auto-py-to-exe和cx_Freeze三种工具,包含实战案例与常见问题解决方案,助你轻松发布独立运行的Python程序。
2175 2
|
9月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
1498 68
|
10月前
|
数据采集 存储 XML
Python爬虫技术:从基础到实战的完整教程
最后强调: 父母法律法规限制下进行网络抓取活动; 不得侵犯他人版权隐私利益; 同时也要注意个人安全防止泄露敏感信息.
1090 19
|
9月前
|
索引 Python
Python 列表切片赋值教程:掌握 “移花接木” 式列表修改技巧
本文通过生动的“嫁接”比喻,讲解Python列表切片赋值操作。切片可修改原列表内容,实现头部、尾部或中间元素替换,支持不等长赋值,灵活实现列表结构更新。
445 1
|
11月前
|
数据处理 开发工具 开发者
requirement.txt 管理python包依赖
在 Python 项目中,`requirements.txt` 用于记录依赖库及其版本,便于环境复现。本文介绍了多种生成该文件的方法:基础方法使用 `pip freeze`,进阶方法使用 `pipreqs`,专业方法使用 `poetry` 或 `pipenv`,以及手动维护方式。每种方法适用不同场景,涵盖从简单导出到复杂依赖管理,并提供常见问题的解决方案,帮助开发者高效生成精准的依赖列表,确保项目环境一致性。
3133 4
|
10月前
|
数据采集 存储 JSON
使用Python获取1688商品详情的教程
本教程介绍如何使用Python爬取1688商品详情信息,涵盖环境配置、代码编写、数据处理及合法合规注意事项,助你快速掌握商品数据抓取与保存技巧。
|
11月前
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
331 0
|
11月前
|
并行计算 算法 Java
Python3解释器深度解析与实战教程:从源码到性能优化的全路径探索
Python解释器不止CPython,还包括PyPy、MicroPython、GraalVM等,各具特色,适用于不同场景。本文深入解析Python解释器的工作原理、内存管理机制、GIL限制及其优化策略,并介绍性能调优工具链及未来发展方向,助力开发者提升Python应用性能。
594 0
|
11月前
|
数据采集 索引 Python
Python Slice函数使用教程 - 详解与示例 | Python切片操作指南
Python中的`slice()`函数用于创建切片对象,以便对序列(如列表、字符串、元组)进行高效切片操作。它支持指定起始索引、结束索引和步长,提升代码可读性和灵活性。
|
12月前
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
2933 0

推荐镜像

更多