Python辅助Word+Excel:让办公更高效
上QQ阅读APP看书,第一时间看更新

016 在起始为空的工作表中添加数据

此案例主要通过使用Python语言的字典设置Worksheet的append()方法的参数,并将字典的键名设置为列号,从而实现在起始(首行首列)为空的工作表中整行地添加数据。当运行此案例的Python代码(A234.py文件)之后,将从“收入表.xlsx”文件的收入表的C10单元格开始添加两行数据,即3季度和4季度的收入数据,代码运行前后的效果分别如图016-1和图016-2所示。

图016-1

图016-2

A234.py文件的Python代码如下:

import openpyxl
myBook=openpyxl.load_workbook('收入表.xlsx')
mySheet=myBook.active
#在收入表(mySheet)的末尾添加新行
mySheet.append({'C':'3季度','D':496008,'E':168123,'F':1246})
mySheet.append({'C':'4季度','D':120234,'E':499028,'F':118896})
myBook.save('结果表-收入表.xlsx')

在上面这段代码中,mySheet.append({'C':'3季度','D':496008,'E':168123,'F':1246})表示将“3季度”写入收入表(mySheet)的最后一行的C列,将496008写入收入表(mySheet)的最后一行的D列,将168123写入收入表(mySheet)的最后一行的E列,将1246写入收入表(mySheet)的最后一行的F列。由于通过字典的键名控制了列号,因此采用此方式能够实现在最后一行的部分单元格中写入值,例如:mySheet.append({'C':'3季度','F':1246})将在收入表(mySheet)的最后一行的D列和E列中不写入数据,仅在C列和F列中写入数据。如果在append()方法中直接使用列表作为参数,如mySheet.append(['3季度',496008,168123,1246]),则该行数据将添加到收入表(mySheet)的A列中,而不是C列中。此外,列名采用数字指定也是正确的,例如:mySheet.append({3:'3季度',4:496008,5:168123,6:1246})也能在收入表(mySheet)的末尾添加1行数据;甚至列名可以采用字母和数字混写的方式,例如:mySheet.append({3:'3季度','D':496008,5:168123,6:1246})也能实现相同的功能。

此案例的源文件是MyCode\A234\A234.py。