针对不同场景的Python合并多个Excel方法

大家好,我是辰哥~
在辰哥看来,技术能够减少繁琐工作带来的枯燥,技术+实际=方便。最近辰哥也是在弄excel文件的时候发现手动去整理有点繁琐枯燥,想着技术可以代替我去处理这部分繁琐的工作那何乐而不为呢~~~
三种场景:
多个同字段的excel文件合并成一个excel
多个不同字段的excel文件拼接成一个excel
一个excel的多个sheet合并成一个sheet
辰哥目前想到的仅是辰哥遇到的这三种情况(如果还有很多其他情况的,欢迎在下方留言,因为辰哥日常非经常涉及多种excel处理的内容,所以想不到其他情况)
01 合并多个同字段的excel
这里辰哥先新建三个excel文件:11.xlsx;12.xlsx;13.xlsx;并往里填充数据,数据如下:
11.xlsx

12.xlsx

13.xlsx

需求:将这三个excel文件合并到一个excel中。
导入库
# 读取模块
import xlrd
# 写入模块
import xlwt
这里需要用到两个库:xlrd读取excel; xlwt写入到合并的excel;
# 文件列表
xlxs_list = ["1/11.xlsx","1/12.xlsx","1/13.xlsx"]
# 创建合并后的文件
workbook = xlwt.Workbook(encoding='ascii')
worksheet = workbook.add_sheet('Sheet1')
定义合并哪些excel文件,以及合并后的excel
# 行数
count = 0
#表头(只写入第一个xlsx的表头)
bt = 0
for name in xlxs_list:
wb = xlrd.open_workbook(name)
#按工作簿定位工作表
sh = wb.sheet_by_name('Sheet1')
#遍历excel,打印所有数据
if count>1:
bt=1
for i in range(bt,sh.nrows):
k = sh.row_values(i)
# 遍历每一行中的每一列
for j in range(0,len(k)):
worksheet.write(count,j, label=str(k[j]))
count = count +1
workbook.save('1/合并1_辰哥.xlsx')
最后合并到:**合并1_辰哥.xlsx **中,其结果如下:

02 拼接多个不同字段的excel
新建三个excel文件:21.xlsx;22.xlsx;23.xlsx;并往里填充数据
21.xlsx

22.xlsx

23.xlsx

将这三个excel文件拼接带一个excel中(从左往右)
# 列数
col = 0
for name in xlxs_list:
wb = xlrd.open_workbook(name)
#按工作簿定位工作表
sh = wb.sheet_by_name('Sheet1')
#遍历excel,打印所有数据
for i in range(0,sh.nrows):
k = sh.row_values(i)
# 遍历每一行中的每一列
for j in range(0,len(k)):
worksheet.write(i,col+j, label=str(k[j]))
col = col +len(k)
workbook.save('2/合并2_辰哥.xlsx')
最后合并到:**合并2_辰哥.xlsx **中,其结果如下:

03 合并一个excel的多个sheet
新建一个excel文件:31.xlsx;并新增sheet1、sheet2、sheet3,往里填充数据
sheet1

sheet2

sheet3

将同一个excel文件中的这三个sheet并到一个sheet中。
sheet_list = ['Sheet1','Sheet2','Sheet3']
# 行数
count = 0
# 表头(只写入第一个xlsx的表头)
bt = 0
for st in sheet_list:
#按工作簿定位工作表
sh = wb.sheet_by_name(st)
#遍历excel,打印所有数据
if count > 1:
bt = 1
for i in range(bt, sh.nrows):
k = sh.row_values(i)
# 遍历每一行中的每一列
for j in range(0, len(k)):
worksheet.write(count, j, label=str(k[j]))
count = count + 1
workbook.save('3/合并3_辰哥.xlsx')
最后合并到:合并3_辰哥.xlsx 中,其结果如下:

04 小结
目前想到的仅是辰哥遇到的这三种情况(如果还有很多其他情况的,欢迎在下方留言,因为辰哥日常并非经常涉及多种excel处理的内容,所以想不到其他情况)
针对不同场景的Python合并多个Excel方法的更多相关文章
- python合并多个excel
前言 1.工作中,经常需要合并多个Excel文件.如果文件数量比较多,则工作量大,易出错,此时,可以使用Python来快速的完成合并. 2.使用方法:将需要合并的多个Excel文件放到同一个文件夹下, ...
- Python合并多个Excel数据
安装模块 1.找到对应的模块 http://www.python-excel.org/ 2.用pip install 安装 pip install xlrdpip install XlsxWrite ...
- 使用python将多个excel合并
最近看视频学习,老师布置了个作业,关于如何使用python将多个excel进行合并,老师写的代码我感觉比较复杂,下面是我自己改良之后较简单的方式. 实现这个功能主要有两种方法,一种是用xlwd,xls ...
- aliyun 日志服务(Log Service,Log)是针对日志场景的一站式服务
日志服务(Log Service,Log)是针对日志场景的一站式服务,在阿里巴巴集团内部被广泛使用.用户无需开发就能快捷完成日志生命周期中采集.消费.投递以及查询功能. 日志服务当前提供如下功能 日志 ...
- python合并多个txt文件
python合并多个txt文件 #合并一个文件夹下的多个txt文件 #coding=utf-8 import os #获取目标文件夹的路径 filedir = os.getcwd()+'\\数据' # ...
- Python将多个excel表格合并为一个表格
Python将多个excel表格合并为一个表格 生活中经常会碰到多个excel表格汇总成一个表格的情况,比如你发放了一份表格让班级所有同学填写,而你负责将大家的结果合并成一个.诸如此类的问题有很多.除 ...
- python pandas合并多个excel(xls和xlsx)文件(弹窗选择文件夹和保存文件)
# python pandas合并多个excel(xls和xlsx)文件(弹窗选择文件夹和保存文件) import tkinter as tk from tkinter import filedial ...
- python 作业 批量读取excel文件并合并为一张excel
1 #!/usr/bin/env python 2 # coding: utf-8 3 4 def concat_file(a,b): 5 #如何批量读取并快速合并文件夹中的excel文件 6 imp ...
- Python——合并指定文件夹下的所有excel文件
前提:该文件夹下所有文件有表头且具有相同的表头. import glob # 同下 from numpy import * #请提前在CMD下安装完毕,pip install numppy impor ...
随机推荐
- OpenGL ES 压缩纹理
什么是压缩纹理 在实际应用特别是游戏中纹理占用了相当大的包体积,而且GPU无法直接解码目前流行的图片格式,图片必须转换为RGB等类型的格式才能上传到GPU内存,这显然增加了GPU内存的占用.为了处理这 ...
- 49、django工程(cookie+session)
49.1.介绍: 1.cookie不属于http协议范围,由于http协议无法保持状态,但实际情况,我们却又需要"保持状态",因此cookie就是在这样一个场景下诞生. cooki ...
- SpringCloud:Zuul路由配置超时问题
测试访问时长 修改下业务类,增加sleep休眠时长,以此查看Zuul的熔断 @GetMapping("/test1") public Object test1() { try { ...
- 使用xcode实现IM的那些坑
想用xcode基于XMPP实现即时通讯,mac必须安装openfire(xmpp服务器),mysql(本地数据库,用于配置openfire),JDK(打开openfire必须本地具备java环境),x ...
- kong插件Prometheus+grafana图形化展示
目录 1. 准备工作 3. 为kong添加 prometheus插件 4. 打开kong的metrics支持 4. 配置prometheus.yml添加kong提供的数据信息 5. 在 Grafana ...
- Python - r'', b'', u'', f'' 的含义
字符串前加 f(重点!敲黑板!) 作用:相当于 format() 函数 name = "帅哥" age = 12 print(f"my name is {name},ag ...
- Quick BI的复杂系统为例:那些年,我们一起做过的性能优化
背景 一直以来,性能都是技术层面不可避开的话题,尤其在中大型复杂项目中.犹如汽车整车性能,追求极速的同时,还要保障舒适性和实用性,而在汽车制造的每个环节.零件整合情况.发动机调校等等,都会最终影响用户 ...
- [004] .NET 的现状和未来
我们总是能听到一些人说,.NET 不行.学 .NET 没发展前途之类的言论,有的童鞋听多了便也开始怀疑自己选择的 .NET 方向是不是错了. 不得不承认,在 .NET 没有实现跨平台之前,市场行情确实 ...
- 备战- Java虚拟机
备战- Java虚拟机 试问岭南应不好,却道,此心安处是吾乡. 简介:备战- Java虚拟机 一.运行时数据区域 程序计算器.Java 虚拟机栈.本地方法栈.堆.方法区 在Java 运行环境参考链接: ...
- Easyui动态添加控件无法渲染 $.parser.parse()无效
本文链接:https://blog.csdn.net/huangbaokang/article/details/78367553动态添加easyui控件<input class="ea ...