Python如何合并excel文件
发表于:2024-11-23 作者:千家信息网编辑
千家信息网最后更新 2024年11月23日,本篇内容主要讲解"Python如何合并excel文件",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"Python如何合并excel文件"吧!一、安装模块1、
千家信息网最后更新 2024年11月23日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安全错误
数据库的锁怎样保障安全
南宁大学生网络技术创业
网络安全公众号起名
网络安全检查主体
多台云服务器如何集中管理
移动服务器怎么访问
厦门创欣佳软件开发有限公司
储存服务器阵列
游戏服务器峰值怎么处理
服务器存储mysql数据库
滨州戴尔服务器代理价格
运城网络安全协会倡议书
数据库开发 pdf
软件开发实习生的未来规划
php 取数据库版本号
数据库列出表结构的命令
新型网络技术对生活的影响
excelvbs连接数据库
深圳市咪咕网络技术有限公司
飞扬网络技术服务有限公司
前后台数据库之间的关系
小米手机服务器无法建立安全连接
数据库技术创建学生数据表
大一网络安全知识点
中国国家统计年鉴数据库
网络安全宣传长片
读32计算机网络技术好吗
街道办网络安全应急演练
学校网络安全四不两直检查
亚马逊数据库调用失败
面试数据库隔离的四个级别