Python怎么对多个sheet表进行整合
发表于:2024-11-14 作者:千家信息网编辑
千家信息网最后更新 2024年11月14日,这篇文章主要介绍"Python怎么对多个sheet表进行整合",在日常操作中,相信很多人在Python怎么对多个sheet表进行整合问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
千家信息网最后更新 2024年11月14日Python怎么对多个sheet表进行整合
这篇文章主要介绍"Python怎么对多个sheet表进行整合",在日常操作中,相信很多人在Python怎么对多个sheet表进行整合问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答"Python怎么对多个sheet表进行整合"的疑惑有所帮助!接下来,请跟着小编一起来学习吧!
说明
1、xlwt模块是非追加写入.xls模块,所以要一次性写入for循环和列表,这样就没有追加和非追加的说法。
2、将Excel表合并,将每一个Excel表作为行,即行合并,换个想法,将Excel表中的标签作为列,可以进行列合并,即将不同文件中相同标签组成的不同标签合并,可以先将不同文件中相同的标签合并,不同文件中相同的标签组成一个列表,然后将前面组成的不同标签合并,就可以得到所有Excel文件的内容。
实例
#导入xlrd和xlwt模块#xlrd模块是读取.xls的Excel文件的模块,xlwt模块是以非追加的方式写.xls的Excel文件的模块import xlrd,xlwt#导入要读的文件的路径a=["C:/Users/Desktop/m1.xls","C:/Users/Desktop/m2.xls"]#定义要写的文件的路径b="C:/Users/Desktop/m3.xls"#定义函数,判断打开文件是否会发生异常def open(fileaddress): try:#通过xlrd模块的open_workbook()方法,打开一个Excel文件,定义变量fo为文件句柄 fo=xlrd.open_workbook(fileaddress) return fo except Exception as e: print("error!"+str(e))#定义函数,得到某一个Excel文件下某一个标签的行数def getrows(fo,num): table=fo.sheets()[num]#sheets()函数为xlrd模块自带函数,能以列表的形式返回该Excel文件的标签 n=table.nrows#nrows为xlrd模块自带函数,通过某一个标签调用,可得到该标签的行数 return n"""定义函数,可通过Excel文件路径和标签的序列编号得到任意Excel文件任意标签的内容,且以列表的形式返回"""def getsheetcontents(fileaddress,num): avalue=[] fo=open(fileaddress) table=fo.sheets()[num] n=table.nrows for i in range(0,n): """ row_values()函数为xlrd模块自带函数,通过某一个标签调用, 可得到该标签的行数据,且这些行数据以列表形式返回,标签中 一列为一个列表的元素 """ rdate=table.row_values(i) avalue.append(rdate) return avaluesvalue=[]k=[]#通过for循环得到所有Excel文件的标签数,且以列表的形式返回for i in a: fo=open(i) k.append(len(fo.sheets()))#对这些标签数进行升序排序k.sort()#通过for循环把这些Excel文件中不同标签的所有内容放在列表svalue中for i in range(0,k[len(k)-1]):#通过for循环把不同Excel文件的同一个标签放在列表bvalue中 bvalue=[] for j in a: print("正在读取"+str(j)+"的第"+str(i)+"个标签") bvalue.append(getsheetcontents(j,i)) svalue.append(bvalue)#svalue里面就是所有Excel文件的内容 #通过xlwt模块的Workbook()创建一个.xls文件,定义一个变量fw为文件句柄fw=xlwt.Workbook()line=0#add_sheet()函数为xlwt模块自带函数,可得到一个自定义标签#定义变量ws为标签句柄ws=fw.add_sheet("sheet1")"""通过for循环遍历svalue列表,把最终得到的某个标签某个文件某行某列的数据写入新标签中"""for i in range(0,len(svalue)): for j in range(0,len(svalue[i])): for m in range(0,len(svalue[i][j])): for n in range(0,len(svalue[i][j][m])): ws.write(line,n,svalue[i][j][m][n])#通过line可得到不断增加的行数 line+=1print("合并完成")#save()函数为xlwt自带函数,将合并好的Excel文件保存到某个路径下fw.save(b)#xlrd模块和xlwt模块都没有close()函数,即用这两个模块打开文件不用关闭文件
到此,关于"Python怎么对多个sheet表进行整合"的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注网站,小编会继续努力为大家带来更多实用的文章!
文件
标签
模块
函数
不同
循环
多个
整合
内容
形式
路径
学习
相同
变量
句柄
数据
方法
更多
帮助
实用
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
开发数据库知识
虹口区节能软件开发试验设备
通讯网络技术设备基础设置
糖豆人是全球服务器吗
计算机网络技术出来什么都不会
网络安全小故事100字以内
延庆区咨询网络技术服务介绍
程序员就是软件开发吗
深空之眼数据库
科技互联网啊 熊掌号
seata 数据库
省人大常委会启动网络安全法
精雕软件开发
网络安全服务的主要有哪些
国产数据库的传奇
发改局网络安全工作方案
数据库5元组是什么
网络安全与执法和信息安全
语音会议软件开发的功能选择
连接数据库提示无监听
广东揭阳网络安全宣传周活动
创业板网络安全公司
网络安全专题考试题
莱山区安卓软件开发公司
网络安全知识网络安全法规
南京 app软件开发公司
数据库的四种安全级别
学计算机网络技术专业能力
网络安全与执法和信息安全
tft怎样改服务器