Python怎么对多个sheet表进行整合
发表于:2024-11-12 作者:千家信息网编辑
千家信息网最后更新 2024年11月12日,这篇文章主要介绍"Python怎么对多个sheet表进行整合",在日常操作中,相信很多人在Python怎么对多个sheet表进行整合问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对
千家信息网最后更新 2024年11月12日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安全错误
数据库的锁怎样保障安全
服务器管理中心怎么登陆不了
达梦数据库授权文件价格
数据库01756怎么解决
我的世界20人服务器
软件开发属于知识产权服务吗
郑州予象互联网科技有限公司
数据库调用远程
中小学生网络安全建议
高通量数据库
延庆区智能网络技术常见问题
数据库中怎么建立多页窗体
保证网络安全性的措施
服务器管理器新增用户
kettle 远程服务器
通讯网络技术学什么内容
软件开发创新服务
安装安全服务器名是啥意思啊
新倩女幽魂服务器人数
网络安全人体免疫系统
软件开发的技术环境
浪潮服务器硬盘故障
贵州华为服务器报价
学网络安全哪个培训机构好
数据库连接app安卓
湖南电力数显钟服务器
esftp无法找到服务器
wr720n改打印服务器固件
小学网络安全语句
搜衣服网络安全的字
导致危害网络安全等后果界定