用Python将同一个excel中的多个sheet合并成一个sheet

mac2024-02-20  69

一个excel中有多个sheet,如何将多个sheet合并成同一个sheet(那几个sheet数据格式一致,比如说第一行的表头一致)

先准备数据(一个excel里有多个需要合并的sheet)

①需要合并的sheet ②每个sheet里的表头(一致的数据格式)

Python代码,直接将代码放入.py文件并运行即可(只需修改需要合并的excel所在目录,以及指定合并后的数据放在哪个excel表里哪个sheet,需要修改的地方有三个,我都已经指出来了)

# -*- coding: UTF-8 -*- #导入所需模块,没有的话,就在控制台 pip install 一一安装 import xlrd import pandas as pd from pandas import DataFrame from openpyxl import load_workbook excel_name = '1111.xlsx' #修改地方一:所要合并sheet的excel所在位置,可以写绝对位置,我这里写的是相对位置,我把要处理的excel和.py文件放在了一起 wb = xlrd.open_workbook(excel_name) sheets = wb.sheet_names() # 获取workbook中所有的表格 # 循环遍历所有sheet alldata = DataFrame() for i in range(len(sheets)): df = pd.read_excel(excel_name, sheet_name=i, index=False, encoding='utf8') alldata = alldata.append(df) #指定合并后的数据放在哪个excel里 writer = pd.ExcelWriter('1111.xlsx',engin='openpyxl') #修改地方二:合并后的数据要放在哪个excel里,我直接放在原excel表里了 book = load_workbook(writer.path) writer.book = book #指定合并后的数据放在哪个sheet里 alldata.to_excel(excel_writer=writer,sheet_name="ALLDATA")#修改地方三:合并后的数据放在名为ALLDATA的sheet表里,这个名字自定义的,指定的excel里没有这个sheet的话,会自动创建的 writer.save() writer.close() print('处理完成!')

保存后结果

最新回复(0)