如果在原始的工作簿中有新增的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")