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

在处理多个相同格式的文件时&#xff时间复杂度0c;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://pvimythonlearn//'  #设置存储路径
files= os.listdir(path) #得到文件夹下的所有文件名称
for file in files:  #按照顺序在 files 里面进行每一个文件的 数据名称 循环读取
    f = open(path+file,'r')   # 打开第一个文件时域
    #如果是其他文件,使用他的读取方法即可
    #如是nc文件,将上一行换成:f =nc.Dataset(file,&#3默认浏览器9;r') 即可
	#下面进行相关其他处理即可

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

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

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

这样又该如何处理呢?
这其实也涉及到字符串拼接的问题,以下举一个例子:
文件夹如下所示:
我们有三个以大洋命名的文件夹
在这里插入图片描述

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

再次点开后有12个以月份命名的文件夹
在这里插入图片描述
再次点开01月份的文件夹,里面包含多个数据:
在这里插入图片描述
在这个一层套一层文件夹的过程中,就是我们算法需要实现的过程!

仔细观察,不难发现,我们的文件夹除了第一个是按照大洋的名称命名,里面的子文件夹都是按照年月日有规律的命名的,包括我们最终的文件也是!
FPGA底层结构 这样看来,看过我这一篇博文的小伙伴们一定就有思路了!

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

好了,废话不多说,上代码!
先导入模块,然后拼接字符串,最后放入循环中即可完美解决!

import calendar
file_patmingwh='G://argo//atlan开发环境tic_ocean//' #文件路径
for year in ran定时器ge(2020,2021):
    内存模型for month in range(1,13):
          for day in range(1,calendar.monthrange(year,month)[1]&#43任务分解;1):

         	fn='%04.0f'%year+unity'\\'+'%02.0f'%month+\
         	'\\'+&#判断39;%04.0f'%year+'%02.0f'%month+'%02.0f'%day+'_prof.nc' 
            
     IDA Pro       服务器if(os.path.exists(file_path+fn)):#判断一下是否存在该路径,成功的话即可进行下一步文件读取处理!
 图像质量           

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

                            一个努力学习python的海洋小白
  shell                          水平有限,欢迎指正&#xff0编程1;!!
                            欢迎评论、收藏。

下一代 文档对象模型

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注