如何将一个 Excel 工作簿中的多个工作表合并成一个工作表?
off999 2024-12-17 15:43 22 浏览 0 评论
解决这个问题很容易,这里介绍两种办法,一键解决Excel工作表合并问题,如果你只会Excel的话,推荐使用PowerQuery,可使用鼠标点击完成工作表合并,如果你会Python编程的话,只需要不到10行代码,即可快速合并,使用代码合并的好处就不一一赘述了,下面实际来操作。
1. PowerQuery批量合并工作表
先介绍使用Excel中的PowerQuery来合并工作表,如下是包含第一季度销售的销售数据明细,每一个月是一个Sheet工作表,一共三个月数据,需要将其合并到一个工作簿中。
首先,新建一个空的Excel工作簿,在数据选项卡下点击新建查询,选择从文件夹点击从工作簿,将需要合并的工作簿路径选择进来。
选择文件夹后点击编辑选项。
在PowerQuery界面选择Data列,右键点击删除其他列。
在Data列点击转化符号,在选项中选择展开,点击确定。
可以看到已经将三个工作表的数据汇总在一起,但是标题行是重复数据,点击删除行选项删除重复值,即可将重复的数据做删除,只保留唯一数据。
第一行数据不是标题行,可以点击将第一行用作标题,将第一行数据行提升为标题行。
数据合并后点击关闭并上载,将数据加载到Excel工作簿中。
如果在原始的工作簿中有新增的Sheet工作表,可以在设计选项卡下点击全部刷新,即可全部数据合并,不用前面的步骤,点击全部刷新就会加载进来。
上面使用PowerQuery批量合并工作表是不是觉得很简单?简直是只要有售手就行,操作很简单,下面介绍一点有难度的,使用Python批量合并工作表,为什么要介绍Python呢?因为当数据量很大时,或者应用数据场景更多时,Python处理更方便,下面一起学习~
2. Python批量合并工作表
如果一个Excel表中有多个不同的sheet表,将其汇总到一个sheet表中,复制、粘贴,需要耗时很长时间,使用Python写个程序只有8行代码,10秒不到,就将多个sheet表中的数据合并到一个Excel表中,这就是代码的“速度”,下面就是使用Python批量合并工作表。
简单解释一下下面代码的含义,首先,sheet_name=0导入第一个sheet表中的数据,然后,遍历工作簿中的sheet表名,read_excel导入数据用sheet表名导入数据,最后,使用concat函数批量将导入的sheet表合并成为一个表,即完成sheet表合并。
import pandas as pd
path=r'C:\Desktop\数据合并\销售明细第1季度.xlsx'
sheet_names=pd.ExcelFile(path).sheet_names
df=pd.read_excel(path,sheet_name=0)#导入第一个sheet表
for sheetname in sheet_names[1:]:
dfi=pd.read_excel(path,sheetname) #导入除第一个sheet表外其他sheet表
df=pd.concat([df,dfi],sort=False) #数据纵向合并
df.to_excel(r'C:\Desktop\销售明细表数据合并.xlsx',index=False)
上面将一个 Excel 工作簿中的多个工作表合并成一个工作表只是数据处理中的一个很小的应用,下面拓展一下数据处理的知识,比如将将不同工作簿合并到一个Excel工作簿中、Excel批量创建多个工作簿等处理场景,希望对你有所启发。
3. 数据批量处理拓展
① 将不同工作簿合并到一个Excel中
做数据分析日常最多的就是跟表格打交道,做数据处理和数据合并是必须的,比如,有几百个Excel工作簿,如果手动的Ctrl+C、Ctrl+V这样重复的复制粘贴汇总表格,效率极其慢,使用Python只需8行代码即可批量合并。
import os
path=r'C:\Desktop\数据合并'
listdir=os.listdir(path)
df=pd.read_excel(path+'\\'+ listdir[0])#导入第一个数据表
for filename in listdir[1:]:
dfi=pd.read_excel(path+'\\'+ filename) #导入除第一个数据表外其他数据表
df=pd.concat([df,dfi],sort=False) #数据纵向合并
df.to_excel(r'C:\Desktop\学生成绩数据合并.xlsx',index=False)
② Excel批量创建多个工作簿
有时候,创建多个Excel工作簿也是工作必须的,常规操作就是右键新建Excel工作簿,然后右键重命名,如果要创建一个全国各个省份的Excel工作簿,手动创建效率很慢,使用下面的几行代码即可批量创建新的工作簿。
from openpyxl import Workbook
import os
os.mkdir(r'C:\Desktop\批量创建文件夹')#创建一个新的文件夹
name_list = ["湖南","湖北","河南","河北","山东","山西","广东","广西","贵州","陕西"]
for name in name_list:
wb = Workbook()
wb.save(filename = f"C:\Desktop\批量创建文件夹\{name}.xlsx")
③ 将Excel文件拆分到不同sheet表
某次考试有一个包含所有科目考试成绩的表格,要将每一科的学生成绩分别创建一个sheet表保存各科的成绩,Excel的做法是先在总表中筛选出来各个科目的成绩,然后创建一个新的sheet表,重命名后复制粘贴,使用Python只需4行代码即可批量拆分。
import pandas as pd
df=pd.read_excel(r'C:\Desktop\学生成绩表.xlsx')
for i in df['科目'].unique():
df[df['科目']==i].to_excel(f"C:\Desktop\数据拆分\{i}.xlsx",index=False)
④ 将Excel文件拆分到不同工作簿
还是上面的案例数据,只不过这次将总成绩表按照不同的科目拆分为不同的工作簿,相对于表格的复制粘贴,这里只需要6行代码就可以实现复杂的Excel操作,轻轻松松实现Excel表格自动化功能。
import pandas as pd
df=pd.read_excel(r'C:\Desktop\数据拆分\学生成绩表.xlsx')
writer=pd.ExcelWriter(r'C:\Desktop\不同科目成绩表.xlsx')
for i in df['科目'].unique():
df[df['科目']==i].to_excel(writer,sheet_name=i,index=False)
writer.save()
以上,我们使用PowerQuery手动操作和Python代码编程两种方式成功将一个Excel工作簿中的多个工作表合并成一个工作表,并且,拓展了数据表处理的场景,如果你在学习过程中有问题,可以关注我,持续更新和分享数据分析知识,后台私信我,还可免费获取一份数据分析资料,对你入门数据分析很有帮助~
相关推荐
- 推荐一款Python的GUI可视化工具(python 可视化工具)
-
在Python基础语法学习完成后,进一步开发应用界面时,就需要涉及到GUI了,GUI全称是图形用户界面(GraphicalUserInterface,又称图形用户接口),采用图形方式显示的计算机操...
- 教你用Python绘制谷歌浏览器的3种图标
-
前两天在浏览matplotlib官方网站时,笔者无意中看到一个挺有意思的图片,就是用matplotlib制作的火狐浏览器的logo,也就是下面这个东东(网页地址是https://matplotlib....
- 小白学Python笔记:第二章 Python安装
-
Windows操作系统的python安装:Python提供Windows、Linux/UNIX、macOS及其他操作系统的安装包版本,结合自己的使用情况,此处仅记录windows操作系统的python...
- Python程序开发之简单小程序实例(9)利用Canvas绘制图形和文字
-
Python程序开发之简单小程序实例(9)利用Canvas绘制图形和文字一、项目功能利用Tkinter组件中的Canvas绘制图形和文字。二、项目分析要在窗体中绘制图形和文字,需先导入Tkinter组...
- 一文吃透Python虚拟环境(python虚拟环境安装和配置)
-
摘要在Python开发中,虚拟环境是一种重要的工具,用于隔离不同项目的依赖关系和环境配置。本文将基于windows平台介绍四种常用的Python虚拟环境创建工具:venv、virtualenv、pip...
- 小白也可以玩的Python爬虫库,收藏一下
-
最近,微软开源了一个项目叫「playwright-python」,作为一个兴起项目,出现后受到了大家热烈的欢迎,那它到底是什么样的存在呢?今天为你介绍一下这个传说中的小白神器。Playwright是...
- python环境安装+配置教程(python安装后怎么配置环境变量)
-
安装python双击以下软件:弹出一下窗口需选择一些特定的选项默认选项不需要更改,点击next勾选以上选项,点击install进度条安装完毕即可。到以下界面,证明安装成功。接下来安装库文件返回电脑桌面...
- colorama,一个超好用的 Python 库!
-
大家好,今天为大家分享一个超好用的Python库-colorama。Github地址:https://github.com/tartley/coloramaPythoncolorama库是一...
- python制作仪表盘图(python绘制仪表盘)
-
今天教大家用pyecharts画仪表盘仪表盘(Gauge)是一种拟物化的图表,刻度表示度量,指针表示维度,指针角度表示数值。仪表盘图表就像汽车的速度表一样,有一个圆形的表盘及相应的刻度,有一个指针...
- 总结90条写Python程序的建议(python写作)
-
1.首先 建议1、理解Pythonic概念—-详见Python中的《Python之禅》 建议2、编写Pythonic代码 (1)避免不规范代码,比如只用大小写区分变量、使用容易...
- [oeasy]python0137_相加运算_python之禅_import_this_显式转化
-
变量类型相加运算回忆上次内容上次讲了是从键盘输入变量input函数可以有提示字符串需要有具体的变量接收输入的字符串输入单个变量没有问题但是输入两个变量之后一相加就非常离谱添加图片注释,不超过1...
- Python入门学习记录之一:变量(python中变量的规则)
-
写这个,主要是对自己学习python知识的一个总结,也是加深自己的印象。变量(英文:variable),也叫标识符。在python中,变量的命名规则有以下三点:>变量名只能包含字母、数字和下划线...
- 掌握Python的"魔法":特殊方法与属性完全指南
-
在Python的世界里,以双下划线开头和结尾的"魔法成员"(如__init__、__str__)是面向对象编程的核心。它们赋予开发者定制类行为的超能力,让自定义对象像内置类型一样优雅工...
- 11个Python技巧 不Pythonic 实用大于纯粹
-
虽然Python有一套强大的设计哲学(体现在“Python之禅”中),但总有一些情况需要我们“打破规则”来解决特定问题。这触及了Python哲学中一个非常核心的理念:“实用主义胜于纯粹主义”...
- Python 从入门到精通 第三课 诗意的Python之禅
-
导言:Python之禅,英文名是TheZenOfPython。最早由TimPeters在Python邮件列表中发表,它包含了影响Python编程语言设计的20条软件编写原则。它作为复活节彩蛋...
你 发表评论:
欢迎- 一周热门
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python字典遍历 (54)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (60)
- python读取文件夹下所有文件 (59)
- java调用python脚本 (56)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)