将Excel表格按内容拆分为多个表格,具体代码如下:
import openpyxl # 导入openpyxl库
myBook = openpyxl.load_workbook('2021.08.13(result).xlsx') # 读取“录取表.xlsx”文件
mySheet = myBook['表']
# 按行获取录取表(mySheet)的单元格数据(myRange)
myRange = list(mySheet.values)
myDict = {} # 创建空白字典(myDict)
# 从录取表(myRange)的第2行开始循环(到最后一行)
for myRow in myRange[1:]:
# 如果在字典(myDict)中存在某录取院校(myRow[0]),则直接在某录取院校(myRow[0])中添加考生([myRow])
if myRow[0] in myDict.keys():
myDict[myRow[0]]+=[myRow]
# 否则创建新录取院校
else:
myDict[myRow[0]]=[myRow]
# print(myDict)
# 循环字典(myDict)的成员
for myKey, myValue in myDict.items():
# 创建新工作簿(myNewBook)
myNewBook=openpyxl.Workbook()
myNewSheet=myNewBook.active
# 在新工作表(myNewSheet)中添加表头(录取院校、专业、考生姓名、总分)
myNewSheet.append(myRange[0])
# 在新工作表(myNewSheet)中添加键名(录取院校)下的多个键值(考生)
for myRow in myValue:
myNewSheet.append(myRow)
myNewSheet.title=str(myKey)+'11'
# 保存拆分之后(各个录取院校)的工作簿(myNewBook),或者说保存各个Excel文件
myPath = str(myKey)+'时.xlsx'
myNewBook.save(myPath)