python如何批量处理合并Excel表格文件
os
os模块提供各种 Python 程序与操作系统进行交互的接口,Python的OS模块可以帮助我们处理磁盘和文件系统
- os.getcwd() 获取当前工作路径
- os.listdir 可以查看文件下的所有文件 返回的是列表
- os.walk(path) 返回一个三元祖(root,dirs,files) 返回的是元组
- root 所指的是当前正在遍历的这个文件夹路径
- dirs 是一个 list ,内容是该文件夹中所有的目录的名字(文件夹路径)
- files 同样是 list , 内容是该文件夹中所有的文件(文件列表)
- os.path.exists(path1)判定指定文件目录是否存在path 返回True 否则 False
- os.mkdir(path) 创建新文件夹 文件夹存在会报错 可以先判断文件夹是否存在 只能创建一级目录
- os.makedirs(path) 和mkdir的差别 make可以一次创建多级目录 mk只能在存在目录下创建
- os.rmdir(path) 删除文件夹 只能删除空文件夹,非空不能删除
- os.path.join(path,i) 传入两个路径 将两个路径拼接成一个完整路径
- os.path.split(path) 将绝对路径和文件名拆分
- os.path.dirname(path) 获取绝对路径
- os.path.basename(path) 只获取文件名
- os.path.isdir(path) 判断是否是文件夹
- os.path.isfile(path) 判断它是否是文件
- os.path.sep 返回当前操作系统的路径分隔符
- os.path.getsize(path) 返回该文件的大小
endwith()函数
str.endswith(“suffix”, start, end) 或str[start,end].endswith(“suffix”)
- suffix — 后缀,可以是单个字符,也可以是字符串,还可以是元组("suffix"中的引号要省略,常用于判断文件类型)。
- start —索引字符串的起始位置。
- end — 索引字符串的结束位置。
- str.endswith(suffix) star默认为0,end默认为字符串的长度len(str)
例子 os获取文件夹下所有相同格式文件并合并
import pandas as pd
import os
dfs_pdd=pd.DataFrame()
path_pdd=r'C:\Users\Administrator\Desktop\python\运营\数据\'#遍历文件夹
for root,dirs,files in os.walk(path_pdd):
for file in files:
if file.endswith('.xls'): #判断字符后缀
file_path=os.path.join(root,file) #路径连接
for sheet in pd.read_excel(file_path,sheet_name=None).keys():
excel_name=file.replace('.xls','') #提取表名
df=pd.read_excel(file_path,sheet_name=sheet)
df['excel']=excel_name #可以标准合并数据的来源
dfs_pdd=pd.concat([dfs_pdd,df]) #数据合并