上QQ阅读APP看书,第一时间看更新
026 使用集合方法拼接多个工作表
此案例主要通过使用Python语言的集合的union()方法拼接多个集合,从而实现在工作簿中将多个工作表拼接(合并)成一个工作表。当运行此案例的Python代码(A347.py文件)之后,将把“录取表.xlsx”文件中的北京大学录取表、清华大学录取表、浙江大学录取表、武汉大学录取表共4个工作表的数据拼接(合并)成一个工作表(即录取表),武汉大学录取表的数据如图026-1所示(其他三个工作表的数据与此类似),拼接(合并)的录取表的数据如图026-2所示。
图026-1
图026-2
A347.py文件的Python代码如下:
import openpyxl myBook=openpyxl.load_workbook('录取表.xlsx',data_only=True) mySheet1=myBook['北京大学录取表'] mySheet2=myBook['清华大学录取表'] mySheet3=myBook['浙江大学录取表'] mySheet4=myBook['武汉大学录取表'] #将北京大学录取表(mySheet1)复制成(全部院校)录取表(mySheet5) mySheet5=myBook.copy_worksheet(mySheet1) mySheet5.title='录取表' #删除录取表(mySheet5)的行(第1行除外) while mySheet5.max_row >1: mySheet5.delete_rows(2) #根据北京大学录取表(mySheet1)的行创建集合(mySet1) mySet1=set(list(mySheet1.values)[1:]) #根据清华大学录取表(mySheet2)的行创建集合(mySet2) mySet2=set(list(mySheet2.values)[1:]) #根据浙江大学录取表(mySheet3)的行创建集合(mySet3) mySet3=set(list(mySheet3.values)[1:]) #根据武汉大学录取表(mySheet4)的行创建集合(mySet4) mySet4=set(list(mySheet4.values)[1:]) #将mySet1、mySet2、mySet3、mySet4集合拼接(合并)成集合(mySet5) mySet5=mySet1.union(mySet2,mySet3,mySet4) #根据集合(mySet5)在(全部院校)录取表(mySheet5)中添加考生数据 for myRow in mySet5: mySheet5.append(myRow) myBook.save('结果表-录取表.xlsx')
在上面这段代码中,mySet5=mySet1.union(mySet2,mySet3,mySet4)表示将mySet1、mySet2、mySet3、mySet4四个集合拼接(合并)成mySet5集合。注意:union()方法的参数可以有多个,即该方法可以拼接多个集合,每个参数(集合)使用逗号分隔即可。
此案例的源文件是MyCode\A347\A347.py。