python利用openpyxl合拼多个xlsx-excel文档

之前需要用到python合拼excel功能,苦于网上资源并不多于是边看边自己凑一个出来自用,希望能给这方面有需求的人一些帮助。

import sys
import os
from openpyxl import load_workbook
from openpyxl import Workbook

rootdir = sys.path[0] #设置路径,这里是获取当前路径

wb=Workbook()
sheet = wb.active #新建一个excel文档并默认获取第一个工作表

for parent,dirnames,filenames in os.walk(rootdir):    #三个参数分别1.目录路径 2.所有文件夹名字 3.所有文件名字
     for filename in filenames:                        
          if filename.find(".xlsx") >= 0: #筛选出xlsx类型的文件
               xfile = parent+"/"+filename
               wb2=load_workbook(xfile)
               ws2=wb2.active
               for row in ws2.rows:
                    ar = []
                    for cell in row:
                         ar.append(cell.value) #每行的单元格整合到一个数组,再整行添加到新的excel文档
                    sheet.append(ar)

wb.save('all.xlsx') #最后保存

默认设置为python文件跟excel文件堆放在一起,输出为all.xlsx,excel格式只能支持xlsx的,xls用系统自带xlrd和xlwt吧。

你可能感兴趣的:(python利用openpyxl合拼多个xlsx-excel文档)