批量合并某个文件夹内子文件夹的所有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名称列表
# 遍历该工作簿内所有子表sheet
for sheetnam