Python如何合并excel文件
发表于:2025-02-01 作者:千家信息网编辑
千家信息网最后更新 2025年02月01日,本篇内容主要讲解"Python如何合并excel文件",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python如何合并excel文件"吧!一、安装模块1、
千家信息网最后更新 2025年02月01日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安全错误
数据库的锁怎样保障安全
win10数据库msde安装
数据库关联查询注意什么
云服务器的初次使用小白的烦恼
专家意见计算机网络技术前景
网络安全app安全
软件开发服务公司推荐
网络安全技术一般指
广东数字化城管软件开发电话
1.7.2服务器懒人包
如何在磁盘上创建数据库
嘉陵区网络安全宣传
网络安全10大金句
成都商城软件开发价钱是多少
软件开发管理项目要点
es和oracle数据库
杭州千峰网络安全靠谱吗
一张手抄报关于网络安全
ws2022服务器版
软件开发外包合同书范本
软件开发年度工作总结
数据库错的date会丢失毫秒吗
软件开发师和机械结构工程师
安卓软件开发 nfc
上饶市网络安全实战特训营
邮件服务器怎么调节
数控系统应用软件开发
SA喷洒拟南芥后数据库
服务器安全狗补丁
美国空军加强网络安全
计算及网络技术的课程