找回密码
 会员注册
查看: 13|回复: 0

利用python批量遍历多个Excel表格文件中指定内容并汇总

[复制链接]

2万

主题

0

回帖

6万

积分

超级版主

积分
67465
发表于 2024-9-10 23:38:15 | 显示全部楼层 |阅读模式
工作中的一个问题,有一个文件夹,存在多个子文件夹,每个文件夹中还有多个Excel表格文件,每个表格文件还有多个sheet,需要从每个sheet中读取多个指定单元格的内容并汇总到一个表格中。上网搜索一下,利用Python的pandas模块可以快速实现。openpyxl也可以,不过为了快速,优先采用了能快速搜到使用pandas模块的成形代码。简单修改别人代码,实现如下。importosimportpandasaspd#要读取表格文件的目录or_path="D:/xlsx"#读取结果保存目录re_path="D:/results"result_df=pd.DataFrame()#因为这个例子里,Excel文件独立在不同文件夹中,所以需要遍历所有子目录forroot,dirs,filesinos.walk(or_path):forfileinfiles:#只处理指定文件if!file.endswith(".xlsx"):continueread_xls=pd.ExcelFile(os.path.join(root,file))#例子中,每个文件有多个sheet,需要遍历每个sheetforsheetnameinread_xls.sheet_name:#通过sheet名字读取表格内容df=read_xls.parse(sheetname,header=None)#通过values函数可以读取单元格内容#通过Data函数可以构建表格read_df=pd.Data({'name':[df.values[2,1]],'age':[df.values[3,1]]})#拼接表格result_df=pd.concat([result_df,read_df])#输出汇总到文件result_df.to_csv(os.path.join(re_path,"result.csv"),index=false)代码不长,却能实现很多功能,包括遍历搜索多个子文件夹、遍历文件中每个sheet表格,把文件夹名称和sheet名写入文件也很容易实现,经测试没有问题。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 会员注册

本版积分规则

QQ|手机版|心飞设计-版权所有:微度网络信息技术服务中心 ( 鲁ICP备17032091号-12 )|网站地图

GMT+8, 2025-1-3 02:42 , Processed in 0.653311 second(s), 26 queries .

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表