当前位置:   article > 正文

用Python将同一个excel中的多个sheet合并成一个sheet_将一个excel的所有sheet页合并到一个sheet页中 只保留两列 如何处理?

将一个excel的所有sheet页合并到一个sheet页中 只保留两列 如何处理?

一个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('处理完成!')
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26

保存后结果

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/小蓝xlanll/article/detail/317965
推荐阅读
相关标签
  

闽ICP备14008679号