本章介绍openpyxl和os的应用——把多个excel文件合并成一个sheet表。在我文件夹下方有4个需要合并的文件,每个文件的模板都是一样的(前提)。
很简单,之需要在上一篇的基础上加点代码和进行一点修改,遍历每个文件即可。而遍历出每一个文件,看过我os篇的应该都知道,在同一文件夹下,只需要用os.listdir()即可。一步一步来,如果急的朋友可以直接滑到后面看全部的代码。
import openpyxl,os
os.chdir(r"D:\临时\python试验\openpyxl\多文件合并") # 设置默认路径。只有设置了默认路径,下方才可以直接写文件f,否则要加上路径
for f in os.listdir():
file = openpyxl.load_workbook(f) # 读取每个文件
sheets = file.worksheets # 获取该文件的所有表
for sheet in sheets:
for row in sheet.iter_rows(2,sheet.max_row,1,sheet.max_column):
row_list = [i.value for i in row]
row_list = [f.split('.')[0]] + row_list # 把xxx区加在最前面,以方便查看合并后是数据是哪个区
print(row_list)