Python如何合并excel文件
发表于:2025-11-07 作者:千家信息网编辑
千家信息网最后更新 2025年11月07日,本篇内容主要讲解"Python如何合并excel文件",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python如何合并excel文件"吧!一、安装模块1、
千家信息网最后更新 2025年11月07日Python如何合并excel文件
本篇内容主要讲解"Python如何合并excel文件",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python如何合并excel文件"吧!
一、安装模块
1、找到对应的模块
2、用 pip install 安装
pip3 install xlrd
pip3 install XlsxWriter
因为使用的是 python3,所以安装的时候采用 pip3。
二、XlsxWriter 示例
先看看简单的演示:
import xlsxwriter # 创建一个工作簿并添加一个工作表workbook = xlsxwriter.Workbook("c.xlsx")worksheet = workbook.add_worksheet() # 设置列宽worksheet.set_column("A:A", 20) # 设置格式bold = workbook.add_format({"bold": True}) # 设置单元格的值worksheet.write("A1", "Hello") # 带格式的单元格worksheet.write("A2", "World") # 写一些数字,用行列标识worksheet.write(2, 0, 123)worksheet.write(3, 0, 123.456, bold) # 插入一张图片worksheet.insert_image("B5", "s.png") # 关闭文件流workbook.close()三、合并Excel数据
对于合并 excel,有两种 case ,一种是表头都是一样的,一种是表头不一样的excel ,但是希望放到同一个表格里面,方便查看
四、表头都一样的 excel
这个处理很简单,具体代码如下:
import xlrdimport xlsxwriter source_xls = ["a.xlsx", "b.xlsx"]target_xls = "3.xlsx" # 读取数据data = []for i in c: wb = xlrd.open_workbook(i) for sheet in wb.sheets(): for rownum in range(sheet.nrows): data.append(sheet.row_values(rownum))print(data)# 写入数据workbook = xlsxwriter.Workbook(target_xls)worksheet = workbook.add_worksheet()font = workbook.add_format({"font_size": 14})for i in range(len(data)): for j in range(len(data[i])): worksheet.write(i, j, data[i][j], font)# 关闭文件流workbook.close()Excel 是由行和列组成的,所以这里将所有文件中的所有 sheet 中的数据读取出来组成一个二维数组,然后再写入新的 Excel。
五、表头都不一样的 excel
对于表头不一样的 excel,可能需要手动选取表格的一部分,然后进行合并。具体代码如下:
import xlrdimport xlsxwriter source_xls = ["a.xlsx", "b.xlsx"]target_xls = "合并.xlsx" # 读取数据data = []# 重复数据dupdata = []# 姓名列表,按照姓名去重name = []# 获取excel的个数sheetcount = len(source_xls)i = 0while i < len(source_xls): wb = xlrd.open_workbook(source_xls[i]) # 存储不同excel 的数据 data.append([]) # 一个excel 可能存在多张表格 for sheet in wb.sheets(): if i == 0: # 先把表头添加进去 dupdata.append(sheet.row_values(0)) for rownum in range(sheet.nrows): # 判断名字是否重复,表头都是姓名开头的,所以把姓名除去 if (sheet.row_values(rownum)[0] in name): dupdata.append(sheet.row_values(rownum)) # 给数据添加另一个表的表头 if (sheet.row_values(rownum)[0] == '姓名'): data[i].append(sheet.row_values(rownum)) else: name.append(sheet.row_values(rownum)[0]) data[i].append(sheet.row_values(rownum)) i+=1 # 合并数据workbook = xlsxwriter.Workbook(target_xls)worksheet = workbook.add_worksheet()font = workbook.add_format({"font_size": 14})lineNum = 0for num in range(len(data)): # 区分来自不同excel 的数据 if num== 0 : for i in range(len(data[num])): # 姓名 worksheet.write(lineNum, 0, data[num][i][0], font) # 检查编号 worksheet.write(lineNum, 1, data[num][i][1], font) # 年龄 worksheet.write(lineNum, 2, data[num][i][23], font) # 蓝标 worksheet.write(lineNum, 3, data[num][i][14], font) # 黄标 worksheet.write(lineNum, 4, data[num][i][19], font) worksheet.write(lineNum, 5, data[num][i][20], font) worksheet.write(lineNum, 6, data[num][i][21], font) # 大小 worksheet.write(lineNum, 7, data[num][i][24], font) worksheet.write(lineNum, 8, data[num][i][25], font) worksheet.write(lineNum, 9, data[num][i][26], font) lineNum += 1 # 只有两个excel ,所以直接用了 else else: for i in range(len(data[num])): lineNum += 1 # 姓名 worksheet.write(lineNum, 0, data[num][i][0], font) # 检查编号 worksheet.write(lineNum, 1, data[num][i][1], font) # 年龄 worksheet.write(lineNum, 2, data[num][i][2], font) # 蓝标 worksheet.write(lineNum, 3, data[num][i][30], font)# 关闭文件流workbook.close() # 针对重复数据,连表头一起输出,方便后续回顾查看workbook = xlsxwriter.Workbook("重复.xlsx")worksheet = workbook.add_worksheet()font = workbook.add_format({"font_size": 14})for i in range(len(dupdata)): for j in range(len(dupdata[i])): worksheet.write(i, j, dupdata[i][j], font)# 关闭文件流workbook.close()到此,相信大家对"Python如何合并excel文件"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
数据
表头
文件
姓名
表格
不同
代码
内容
单元
年龄
格式
模块
学习
工作
检查
实用
更深
两个
个数
兴趣
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
通信网络安全防护测评
数据库的岗位需求
科技期刊数据库官网
mg国际互联网科技
国标行业中的其他软件开发
2021年网络安全在线答题
方舟手机能不能开服务器
创建数据库空间配置
绿园区通用网络技术咨询经验丰富
网络技术岗位是做什么的
数据库连接池怎么管理会话
如何导出cfps数据库中数据
互联网科技风防诈骗ppt
5g互联网科技公司做哪些项目
智能推理算法在网络安全
win服务器2018下载
东方财富如何切换服务器
外网通过80端口访问内网服务器
下面()是FTP服务器地址
绿色地狱怎么开服务器
软件开发类企业收入确认
混合所有企业软件开发是否招标
国内做终端服务器的公司
e7管理系统显示消息服务器错误
2018光谷互联网科技人才
数据库关键实现技术
青浦区网络软件开发服务要多少钱
数据库技术中菜单设计
lol聊天服务器连不上
开黑啦怎么切换服务器