千家信息网

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聊天服务器连不上 开黑啦怎么切换服务器
0