python实战:合并多个不同样式的excel的sheet到一个文件中

505 阅读1分钟

携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第5天,点击查看活动详情

python实战:

使用python实现合并多个excel到一个文件,一个sheet和多个sheet中

合并多个不同样式的excel的sheet到一个文件中

主要使用的库为openpyxl

1、安装openpyxl并导入

pip install openpyxl

安装完成后,可以通过命令行窗口测试是否安装成功; image.png

导入openpyxl:

import openpyxl

使用openpyxl合并excel: 1、创建一个excel,没有sheet

wb = openpyxl.Workbook(write_only=True)

2、加载已有文件

r_wb = openpyxl.load_workbook(filename=f)

3、读取sheet表

for sheet in r_wb:

4、获取所有行并添加到新文件中:

for row in sheet.rows: w_rs.append(row)

5、保存文件: wb.save('H:/openpyxl.xlsx')

完整代码示例:

def megreFile():
    '''
    合并多个不同样式的excel的sheet到一个文件中
    '''
    import openpyxl #读写excel的库,只能处理xlsx
    #创建一个excel,没有sheet
    wb = openpyxl.Workbook(write_only=True)
    #读取文件的sheet
    for f in ('H:/test.xlsx',) * 3:
        print(f)
        r_wb = openpyxl.load_workbook(filename=f)
        for sheet in r_wb:
            if sheet.max_row <= 1:
                continue
            w_rs = wb.create_sheet('工作表')
            print(sheet.title)    
            print(sheet.max_row)
            #print(sheet.rows)
            for row in sheet.rows:
                w_rs.append(row)
    wb.save('H:/openpyxl.xlsx')