Python自动化:批量合并某个文件夹内子文件夹的所有Excel,并新增两列分别备注文件路径和子sheet名
批量合并某个文件夹内子文件夹的所有Excel,并新增两列分别备注文件路径和子sheet名
使用tips:
1、修改文件目录成自己想合并的总文件夹路径;如运行时间太久,可能是文件太大或者太多的原因,可考虑精准缩小文件夹范围。
2、生成文件将放于当前设置的文件目录/文件夹下的根目录。
完整代码:
import pandas as pd
import openpyxl from openpyxl import load_workbook
from openpyxl import worksheet# 设置文件目录
import os
os.chdir( "xxx/xxx/投资")# 新建工作簿
workbook = openpyxl.Workbook()
sheet_total = workbook.active# 获取文件目录下的所有文件名及对应文件路径
lst = []
for dirpath, dirnames, filenames in os.walk('.'):for filename in filenames:lst.append(os.path.join(dirpath, filename))print(os.path.join(dirpath, filename))
print(lst) # 遍历所有文件,读取并合并文件内的内容
for name in lst:if "._" not in name and ".xlsx" in name:# 打开工作簿wb = load_workbook(name)all_sheets = wb.get_sheet_names() # 获取所有子表sheet名称列表# 遍历该工作簿内所有子表sheetfor sheetname in all_sheets:print('遍历文件“%s”的子表“%s”:'%(name,sheetname))c1 = name c2 = sheetnameworkbook_temp = wb # 已打开的工作簿sheet = workbook_temp[sheetname] # 获取表单# 将表单中的内容,拼接进开头新建的工作簿活动表中for row in sheet.iter_rows(min_row=1, min_col=1, max_col=sheet.max_column, max_row=sheet.max_row):row_data = [col.value for col in row]row_data.insert(0, c1) # 新增一列:文件名及文件路径row_data.insert(0, c2) # 新增一列:工作簿内的子表sheet名称sheet_total.append(row_data)# break # 调试只处理一个else:pass# 保存当前新建的工作簿
workbook.save('汇总.xlsx')
Python自动化:批量合并某个文件夹内子文件夹的所有Excel,并新增两列分别备注文件路径和子sheet名相关推荐
- 遍历文件夹(含子文件夹)方法
做法基本上有2大类: ① 经典Dir ② FSO 即 Scripting. File System Object 的[文件系统对象]脚本方法. 一开始可能Dir方法较为普遍,但随着水平的提高,应用FS ...
- redhat 复制文件夹及子文件夹_python文件夹怎么操作呢??(建议详读)
当前工作目录 >>> import os >>> os.getcwd() 我电脑上的结果为: 'C:Users我的电脑AppDataLocalProgramsPyt ...
- linux递归赋权限,Linux下递归更改文件夹和子文件夹的权限
为所有Web应用程序设置适当的文件权限都是Web主机的重要组成部分.在本教程中,您将了解如何在单个命令中递归地更改文件夹和子文件夹上的文件权限. 如您所知,在Linux中,所有内容都被视为一个文件.一 ...
- Linux C 读取文件夹下所有文件(包括子文件夹)的文件名
本文:http://www.cnblogs.com/xudong-bupt/p/3504442.html Linux C 下面读取文件夹要用到结构体struct dirent,在头#include ...
- c++利用windows api遍历指定文件夹及其子文件夹中的文件
以下代码在vs2008中测试通过,利用FindFirstFile,FindNextFile函数遍历了我电脑上全路径为"C:\\Users\\v_tianboli\\Desktop\\wind ...
- java ftp遍历所有子文件_Java 遍历指定文件夹及子文件夹下的文件
Java 遍历指定文件夹及子文件夹下的文件 /** * 遍历指定文件夹及子文件夹下的文件 * * @author testcs_dn * @date2014年12月12日下午2:33:49 * @pa ...
- 获取文件夹以及子文件夹里面的所有文件
1. 没有后缀名的限制: string[] filePaths = Directory.GetFiles(@"c:\MyDir\"); 2. 有后缀名: string[] file ...
- java 获取子文件夹_JAVA之File类 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件...
package ioTest.io3; import java.io.File; /* * 获取一个目录下的所有文件夹和文件,包括子文件夹和子文件 . * 并将文件夹和文件名称打印在控制台上面.并且要 ...
- linux 修改文件夹和子文件夹权限,Linux下设置文件夹以及子文件夹中所有文件权限...
0x00 前言 文章中的文字可能存在语法错误以及标点错误,请谅解: 如果在文章中发现代码错误或其它问题请告知,感谢! 0x01 方法 设置文件夹及子文件夹下所有文件的读.写.可执行权限: [root@ ...
- BAT 遍历文件夹和子文件夹下所有文件
BAT 遍历文件夹和子文件夹下所有文件 参考网址:http://www.cnblogs.com/tangxin-blog/p/5703146.html echo off & color 0A ...
最新文章
- 老赵的自然数分解——少侠之对象解
- 有关子数组最大累加和的算法小结
- CH4402 小Z的袜子(莫队)
- 安装仅限于用于sharepoint_酒泉汗蒸房设计施工厂家,家庭汗蒸房安装厂家
- 上海电力学院linux大作业,上海电力电路大作业2重点.docx
- SQL 读取XML到Datatable
- shell 之while两种写法
- 【linux】ubuntu更改mysql数据文件路径
- 量子计算机可以预测未来吗,这台量子计算机可以同时预测16种不同的未来
- 【设计模式】05模板方法模式学习笔记
- 服务器e5v2v3性能差距,服务器CPU中的E3、E5的区别,及V2、V3、V5的区别
- 文献阅读笔记:北极气溶胶与气候
- Python原来有三大神器
- 台式计算机不休眠,台式机如何设置不休眠
- Cisco Aironet系列AP的瘦胖转换
- 计算机和主域丢失信任关系,此工作站和主域间的信任关系失败
- 配置LXDE快捷键锁屏
- js 编码解码 escape,encodeURI,encodeURIComponent
- go Benchmark的运行
- 【问题篇】git在push上传代码时,报错“fatal: unable to access ‘‘: OpenSSL SS”