Python 遍历文件夹中的指定类型文件

首先罗列一下os.path模块的相关函数:
1.判断型函数:

exists()    指定路径(文件或者目录)是否存在
isabs()    指定路径是否为绝对路径
isdir()    指定路径是否存在且为一个目录
isfile()    指定路径是否存在且为一个文件
islink()    指定路径是否存在且为一个符号链接
ismount()    指定路径是否存在且为一个挂载点
samefile()    两个路径名是否指向同一个文件

2.文件信息型函数:
getatime()    返回最近访问时间  (浮点型秒数)
getctime()    返回文件创建时间
getmtime()    返回最近文件修改时间
getsize()    返回文件大小 (字节为单位)
abspath()    返回绝对路径
normpath()    规范path字符串形式

最后两个函数的例子:

a = "dapei-imgs\_21667c16-fff5-45ca-829b-cf509f9886bb.jpg"
>>> os.path.abspath(a)
'D:\\Python27\\user\\dapei-imgs\\_21667c16-fff5-45ca-829b-cf509f9886bb.jpg'
>>> os.path.normpath(a)
'dapei-imgs\\_21667c16-fff5-45ca-829b-cf509f9886bb.jpg'

另外把a写成a = "dapei-imgs/_21667c16-fff5-45ca-829b-cf509f9886bb.jpg"

结果没变化

3.路径字符串操作函数:

一个完整的路径字符串分成 abspath = driver+path+filename(name+extname)

因为有一定的格式在其中,所以对路径字符串的操作原则上都是根据这些格式进行的。

基本的分割函数有3个,都是把字符串分割成两部分

split()    把路径分成两部分,依据符合“\”,第二部分是最后一个“\”符号的右边部分
splitdrive()  把路径中的驱动器名称分割到第一部分,没有则为空,依据“:”符号
splitext()   把路径中的文件扩展名分割到第二部分,没有则为空,依据“.”符号
以split()为基础,派生出的两个函数分别对应split()返回值的第一项和第二项
dirname()
basename()

最后是一个与split()对仗的操作
join()   把多个字符串拼接成路径,插入“\”符号


下面用一个遍历文件夹下的文件来说明上述函数的应用,在实际项目中,当然可以用os.walk()或者os.path.walk()
来完成这个工作(程序设计的核心是设计的创意,而不是所处的宏观层次)。

 

import os

Const_Image_Format = [".jpg",".jpeg",".bmp",".png"]

class FileFilt:
  fileList = [""]
  counter = 0
  def __init__(self):
    pass
  def FindFile(self,dirr,filtrate = 1):
    global Const_Image_Format
    for s in os.listdir(dirr):
      newDir = os.path.join(dirr,s)
      if os.path.isfile(newDir):
        if filtrate:
          if newDir and(os.path.splitext(newDir)[1] in Const_Image_Format):
            self.fileList.append(newDir)
            self.counter+=1
        else:
          self.fileList.append(newDir)
          self.counter+=1

 

if __name__ == "__main__":
  b = FileFilt()
  b.FindFile(dirr = "D:\Python27\user\dapei-imgs")
  print(b.counter)
  for k in b.fileList:
      print k

 

 

### 回答1: 使用Python遍历文件夹的Excel文件,可以使用os模块的walk函数,例如:for root, dirs, files in os.walk("/path/to/directory"): for filename in files: if filename.endswith(".xlsx"): filepath = os.path.join(root, filename) # do something with filepath ### 回答2: 在Python,可以使用os模块和pandas库来遍历文件夹的Excel文件。 首先,导入所需的模块: ```python import os import pandas as pd ``` 然后,指定你要遍历文件夹路径: ```python folder_path = '文件夹路径' ``` 接下来,使用os模块的walk函数遍历文件夹的所有文件和子文件夹: ```python for root, dirs, files in os.walk(folder_path): for file in files: file_path = os.path.join(root, file) # 在这进行Excel文件的处理 ``` 在遍历过程,每个Excel文件的路径由文件夹路径和文件名组成。可以使用pandas库的read_excel函数读取每个Excel文件,并进行进一步的处理: ```python df = pd.read_excel(file_path) # 使用pandas读取Excel文件 # 在这进行文件处理或数据分析等操作 ``` 如果需要遍历多个工作表,可以使用pandas库的ExcelFile对象来处理: ```python excel_file = pd.ExcelFile(file_path) # 创建ExcelFile对象 for sheet_name in excel_file.sheet_names: df = excel_file.parse(sheet_name) # 逐个解析工作表 # 在这进行文件处理或数据分析等操作 ``` 最后,根据具体需求,对每个Excel文件进行相应的操作或分析。 以上就是使用Python遍历文件夹的Excel文件的方法。根据具体情况,可以对代码进行适当修改并添加错误处理等功能。 ### 回答3: 要用Python遍历文件夹的Excel文件,可以使用os和pandas库。 首先,需要导入所需的库: import os import pandas as pd 然后,定义一个函数来遍历文件夹的所有文件: def traverse_folder(folder_path): for root, dirs, files in os.walk(folder_path): for file in files: if file.endswith('.xlsx') or file.endswith('.xls'): #判断文件是否是Excel文件,可以根据实际情况修改后缀名 file_path = os.path.join(root, file) #获取文件路径 # 进行操作,例如读取Excel文件 df = pd.read_excel(file_path) # 在这可以添加你需要对Excel文件的具体操作 最后,调用这个函数来遍历指定文件夹: folder_path = '文件夹路径' #替换为实际文件夹的路径 traverse_folder(folder_path) 以上代码会遍历指定文件夹及其子文件夹的所有Excel文件,并对其进行操作。你可以根据实际需求修改代码,添加其他操作,如读取Excel数据、写入数据、数据处理等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值