![Python辅助Word+Excel:让办公更高效](https://wfqqreader-1252317822.image.myqcloud.com/cover/378/47217378/b_47217378.jpg)
上QQ阅读APP看书,第一时间看更新
020 将汇总结果添加到新建的工作表
此案例主要通过使用Worksheet的append()方法和Workbook的create_sheet()方法,从而实现在新建的工作表中添加汇总数据。当运行此案例的Python代码(A301.py文件)之后,将在“成绩表.xlsx”文件中新建一个工作表(汇总表),并在汇总表中汇总成绩表的每位学生的各科成绩,代码运行前后的效果分别如图020-1和图020-2所示。
![](https://epubservercos.yuewen.com/BE3576/26581535601340506/epubprivate/OEBPS/Images/Figure-P48_11111.jpg?sign=1738819552-tgIT1l7eagOx5oZycqguMf16tYJLl6pD-0-06f6e024177e178fcdf4e003f3f3a2f0)
图020-1
![](https://epubservercos.yuewen.com/BE3576/26581535601340506/epubprivate/OEBPS/Images/Figure-P49_2318.jpg?sign=1738819552-mjR8SlbP6Kpfp5NAvsHcacaXnJl9ff6c-0-fb3c4ba844d9355bf302348c3f4524d9)
图020-2
A301.py文件的Python代码如下:
import openpyxl myBook=openpyxl.load_workbook('成绩表.xlsx') mySheet=myBook['成绩表'] #数据范围(myRange)从成绩表(mySheet)的第5行开始,到最后一行 myRange=mySheet[str(mySheet.min_row+4):str(mySheet.max_row)] #新建工作表(汇总表) mySumSheet=myBook.create_sheet('汇总表') #在汇总表(mySumSheet)中添加表头 mySumSheet.append(['姓名','总分']) for myRow in myRange: #在汇总表(mySumSheet)中添加每位学生的姓名和总分 mySumSheet.append([myRow[0].value, sum([myCell.value for myCell in myRow][1:])]) myBook.save('结果表-成绩表.xlsx')
在上面这段代码中,myRange=mySheet[str(mySheet.min_row+4):str(mySheet.max_row)]表示以行方式设置成绩表(mySheet)的数据范围,即指定数据范围从成绩表的第5行(mySheet.min_row+4)开始,到最后一行(mySheet.max_row)。mySumSheet=myBook.create_sheet('汇总表')表示在工作簿(myBook)中新建汇总表(mySumSheet)。mySumSheet.append([myRow[0].value,sum([myCell.value for myCell in myRow][1:])])表示在汇总表(mySumSheet)中添加每位学生的姓名和总分。
此案例的源文件是MyCode\A301\A301.py。