Python辅助Word+Excel:让办公更高效
上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。