龙空技术网

python处理Excel实战进阶篇day02(Excel批量插入九九乘法表)

黑板客爱技术 170

前言:

目前咱们对“用python打印输出九九乘法表”大体比较注意,朋友们都需要分析一些“用python打印输出九九乘法表”的相关内容。那么小编在网络上汇集了一些关于“用python打印输出九九乘法表””的相关资讯,希望大家能喜欢,你们快快来了解一下吧!

实例02—openpyxl 模块Excel批量插入九九乘法表(两种方案)

需求:

正常教学需要,给孩子们打印九九乘法表,用Word或者Excel编辑好打印出来,但是很麻烦,能不能自动化的打印出来呢?这时Python处理Excel文件的模块openpyxl派上用场了。

用到的知识点:

Python的循环,列表操作,字符串格式化,wb对象基本操作,ws.cell()方法,ws.append()方法等,本节实例可以大部分复习基础篇的知识点哦,请认真操作,稍有不明白,请跳往基础篇目查看。

1、极简代码如下:

from openpyxl import Workbookwb = Workbook()ws = wb.activews.title = '九九乘法表'#循环遍历生成for i in range(1,10):    for j in range(1,i+1):        ws.cell(i+1,j,'%dx%d=%2d' % (j,i,i*j))#核心代码,从第2行开始写,第一行留做标题#保存文件wb.save('九九乘法表.xlsx')

这里的核心代码,从第2行开始写,写的个数是由j决定的,执行代码及结果如下:

代码

2、普通代码如下:

#前面省略喽,加上标题,主要的是把第一行合并、插入数据,再设置对齐和字体等#忘了,返回复习哦^_^#插入标题、合并单元格ws.merge_cells('A1:I1')ws['A1'] = '九九乘法表Excel版——黑板客爱技术制作'#设置字体、颜色、对齐方式cell = ws['A1']cell.font = Font(name='微软雅黑',size=18,bold=True,color=colors.RED)cell.alignment = Alignment(horizontal='center',vertical='center')

效果如下:

3、pro版本代码如下:

from openpyxl import Workbookfrom openpyxl.styles import Font,Alignment,PatternFill,colorswb = Workbook()ws = wb.create_sheet('九九表')#插入标题、合并单元格ws.merge_cells('A1:I1')ws['A1'] = '九九乘法表Excel版——黑板客爱技术制作'cell = ws['A1']cell.font = Font(name='微软雅黑',size=18,bold=True,color=colors.RED)cell.alignment = Alignment(horizontal='center',vertical='center')#循环遍历方法1for i in range(1,10):    for j in range(1,i+1):        ws.cell(i+1,j,'%dx%d=%d'%(j,i,j*i))#填充数据        ws.cell(i+1,j).fill = PatternFill(patternType='solid',fgColor=colors.BLUE)#填充背景        ws.cell(i+1,j).font = Font(name='宋体',size=15,color=colors.WHITE,bold=True)#填充字体#保存文件wb.save('九九乘法表pro.xlsx')

结果展示:(当然美化在Excel中就可以,Python是用来自动化的,这里主要是再次复习前面的基础知识

4、pro_plus版本代码如下:

这里换一种方案和思路进行,我们可以利用ws.append()方法,参数是可遍历的对象,一行一行插入,第一行插入标题,第二行插入一个数据,第三行插入两个数据……直到最后一行。

由于篇幅关系,核心代码如下:

for x in range(1,10):    tmp = []    for y in range(1,x+1):        value = '%dx%d=%d'%(y,x,x*y)        tmp.append(value)    ws.append(tmp)

思路是:每一行建一个临时列表tmp,每一行的数据循环插入列表tmp,插入完毕后,再把列表append到表格的每行中。

标签: #用python打印输出九九乘法表