一个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('处理完成!')
保存后结果