针对不同场景的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 ...
随机推荐
- 乘风破浪,Java遇见OpenJDK GA(Build By Microsoft),即将晋升为Azure云管理服务默认JVM
什么是Microsoft Build of OpenJDK Java Development Kit (JDK) 是Sun公司(已被Oracle收购)针对Java开发员的软件开发工具包.自从Java推 ...
- 关于LCA的几点想法
倍增 这是最最最常见的写法了,一个fa[N][logN]的数组直接搞定 时间复杂度也不算太高 预处理 $ O(nlogn) $ 如果你想卡的话,可以卡到 $ O(nlogh) $ h为树的深度 查询 ...
- 本地无法访问虚拟机的tomcat
查看 firewalld防火墙 是否开启 命令: firewall-cmd --state 如果是 running 关闭 firewalld防火墙命令: service firewalld stop ...
- 使用gitlab自带的ci/cd实现.net core应用程序的部署
这两天在折腾持续集成和交付,公司考虑使用gitlab自带的ci/cd来处理,特此记下来整个流程步骤. 好记性不如一支烂笔头---尼古拉斯-古人言 第一步: 安装gitlab,这个自然不用多说 第二步: ...
- hdu 3306 Another kind of Fibonacci 矩阵快速幂
参考了某大佬的 我们可以根据(s[n-2], a[n-1]^2, a[n-1]*a[n-2], a[n-2]^2) * A = (s[n-1], a[n]^2, a[n]*a[n-1], a[n-1] ...
- sonarqube 8.9版本配置收邮件提醒
# admin登陆系统后,进入我的账户(每个用户的配置过程类似) sonarqube 8.9版本配置发信请参考我的另一篇博文: 链接如下: https://www.cnblogs.com/cndevo ...
- CentOS-磁盘扩容挂载目录
挂载 查看存储情况 $ df -kh 查看磁盘情况 $ fdisk -l fdisk创建分区(注:可操作存储上限为2TB)$ fdisk /dev/sdb根据提示,依次输入"n", ...
- shell脚本(2)-shell脚本语法
一.如何抒写shell脚本 1.shell脚本的命名 名字要有意义,不要以a.b.c.1.2.3这种方式命令,建议以sh结尾,在30个字节内,例如:check_memory.sh 2.shell脚本 ...
- dev c++自动添加初始源代码
1.打开 dec v++ 2.工具--编辑器属性 3."代码"选项卡,点击"缺省源" 7.选择"向项目初始源文件插入代码" 8.下面插入下面 ...
- xmind8 Mac序列号
1.首先去官网下载xmind8的安装包:XMind for Mac 也可以去我的百度网盘下载: 链接:https://pan.baidu.com/s/1eY52YsSaPmr-YFhB62Cli ...