python ——批量读取相同格式文件(多个文件夹/单个文件夹)---nc文件为例

简介: 在处理多个相同格式的文件时,python中的许多模块可以为我们提供很多遍历。比如,我们想读取一个文件夹下多个相同格式的文件时可以使用os模块,

在处理多个相同格式的文件时,python中的许多模块可以为我们提供很多遍历。

比如,我们想读取一个文件夹下多个相同格式的文件时

可以使用os模块,


import os


以下有几个常见用法:

1、os.path.abspath(path) #返回绝对路径

2、os.path.filename(path) #返回文件名

3、os.path.dirname(path) #返回文件路径

4、os.path.join(‘字符串1’,‘字符串2’,‘字符串3’,) #将目录和文件名合成一个路径,一般最后一个字符串为文件名,前面的字符串表示文件所在目录。

5、os.walk(path) #用来扫描某个指定目录下所包含的子目录和文件

6、os.listdir(path) #得到文件夹下的所有文件名称

对于单个文件夹下所有文件处理方式:


import os
path='E://pythonlearn//'  #设置存储路径
files= os.listdir(path) #得到文件夹下的所有文件名称
for file in files:  #按照顺序在 files 里面进行每一个文件的 数据名称 循环读取
    f = open(path+file,'r')   # 打开第一个文件
    #如果是其他文件,使用他的读取方法即可
    #如是nc文件,将上一行换成:f =nc.Dataset(file,'r') 即可
  #下面进行相关其他处理即可


但是在海洋数据处理过程中,我们常常遇到这样的情况:


一个文件夹包含多个子文件夹。


比如说我们下载得到的Argo数据存在多年数据,每年数据又存在12个月,每个月又存在多条数据。


这样又该如何处理呢?

这其实也涉及到字符串拼接的问题,以下举一个例子:

文件夹如下所示:

我们有三个以大洋命名的文件夹


20210419192527997.png


点开第一个后发现有一个文件夹写着2020,表示2020年的数据


20210419192807759.png


再次点开后有12个以月份命名的文件夹


20210419192842140.png


再次点开01月份的文件夹,里面包含多个数据:


20210419192919891.png


在这个一层套一层文件夹的过程中,就是我们算法需要实现的过程!


仔细观察,不难发现,我们的文件夹除了第一个是按照大洋的名称命名,里面的子文件夹都是按照年月日有规律的命名的,包括我们最终的文件也是!

这样看来,看过我这一篇博文的小伙伴们一定就有思路了!


python 批量处理nc文件-字符串拼接文件,有规律文件名


好了,废话不多说,上代码!

先导入模块,然后拼接字符串,最后放入循环中即可完美解决!


import calendar
file_path='G://argo//atlantic_ocean//' #文件路径
for year in range(2020,2021):
    for month in range(1,13):
          for day in range(1,calendar.monthrange(year,month)[1]+1):
          fn='%04.0f'%year+'\\'+'%02.0f'%month+\
          '\\'+'%04.0f'%year+'%02.0f'%month+'%02.0f'%day+'_prof.nc' 
            if(os.path.exists(file_path+fn)):#判断一下是否存在该路径,成功的话即可进行下一步文件读取处理!


非常perfect!!!

追问一下,如果是太平洋下面的数据呢?聪明的小伙伴们赶快尝试起来吧~


一个努力学习python的海洋小白  

水平有限,欢迎指正!!!                            

欢迎评论、收藏。


相关文章
|
3月前
|
数据可视化 Linux iOS开发
Python脚本转EXE文件实战指南:从原理到操作全解析
本教程详解如何将Python脚本打包为EXE文件,涵盖PyInstaller、auto-py-to-exe和cx_Freeze三种工具,包含实战案例与常见问题解决方案,助你轻松发布独立运行的Python程序。
1005 2
|
2月前
|
监控 机器人 编译器
如何将python代码打包成exe文件---PyInstaller打包之神
PyInstaller可将Python程序打包为独立可执行文件,无需用户安装Python环境。它自动分析代码依赖,整合解释器、库及资源,支持一键生成exe,方便分发。使用pip安装后,通过简单命令即可完成打包,适合各类项目部署。
|
4月前
|
缓存 数据可视化 Linux
Python文件/目录比较实战:排除特定类型的实用技巧
本文通过四个实战案例,详解如何使用Python比较目录差异并灵活排除特定文件,涵盖基础比较、大文件处理、跨平台适配与可视化报告生成,助力开发者高效完成目录同步与数据校验任务。
159 0
|
5月前
|
安全 Linux 网络安全
Python极速搭建局域网文件共享服务器:一行命令实现HTTPS安全传输
本文介绍如何利用Python的http.server模块,通过一行命令快速搭建支持HTTPS的安全文件下载服务器,无需第三方工具,3分钟部署,保障局域网文件共享的隐私与安全。
999 0
|
5月前
|
数据管理 开发工具 索引
在Python中借助Everything工具实现高效文件搜索的方法
使用上述方法,你就能在Python中利用Everything的强大搜索能力实现快速的文件搜索,这对于需要在大量文件中进行快速查找的场景尤其有用。此外,利用Python脚本可以灵活地将这一功能集成到更复杂的应用程序中,增强了自动化处理和数据管理的能力。
344 0
|
Linux Python Windows
Python小技巧:如何批量更新已安装的库?
云栖号资讯:【点击查看更多行业资讯】在这里您可以找到不同行业的第一手的上云资讯,还在等什么,快来! 众所周知,升级某个库(假设为 xxx),可以用pip install --upgrade xxx 命令,或者简写成pip install -U xxx 。
Python小技巧:如何批量更新已安装的库?
|
3月前
|
数据采集 机器学习/深度学习 人工智能
Python:现代编程的首选语言
Python:现代编程的首选语言
286 102
|
3月前
|
数据采集 机器学习/深度学习 算法框架/工具
Python:现代编程的瑞士军刀
Python:现代编程的瑞士军刀
312 104
|
3月前
|
人工智能 自然语言处理 算法框架/工具
Python:现代编程的首选语言
Python:现代编程的首选语言
257 103

推荐镜像

更多