python输出字体的大小_Toby的Python笔记 | 预备知识:安装openpyxl学做电子表格

06db30a9bdc3361f33830028571f5b7e.png

Toby的Python笔记 | 预备知识:安装openpyxl学做电子表格

362c12e980530e39534a328dec85137d.png

Python 需要创建和读取excel表里面的数据,需要用 openpyxl 这个包,今天安装好备用。

首先,进入C命令窗口:

>> cd C:\Users\dell\AppData\Local\Programs\Python\Python37\Scripts

然后,在当前目录下使用pip命令安装:

(直接安装会连接超时、建议选择国内镜像安装相应的包)

>> cd C:\Users\dell\AppData\Local\Programs\Python\Python37\Scripts>pip install --index https://pypi.mirrors.ustc.edu.cn/simple/ openpyxl

这时,窗体内闪动以下内容:

066359bf85f5f3edbb6cd57f1164cec8.png

2、导入安装成功的openpyxl库。

from openpyxl import Workbook

c625f89f3fa8adf40d828024731c746c.png

3、创建一个工作簿。

wb = Workbook()

b84cc4cc4dfe679cd7acdf3c389e74b1.png

4、创建工作簿的同时,也有了第一个工作表。

使用下面这行代码来获取工作表。

ws = wb.active

4f9a41db9d20f50072ec55f62b023e80.png

5、给工作表取个名字吧。

【这里是工作表的名字,不是Excel文件的名字。】

ws.title = "我的第一份电子表格"

33f343e1aeb547f2523276a9db5d587c.png

6、将我们创建好的一切保存到文件中,这样通过Python代码创建的第一个Excel文件就诞生了。

wb.save("我的第一份电子表格.xlsx")

7、Run一下试试看,文件会创建在和Python文件同一级的文件夹中。

看一个空白的Excel表格就创建好了。

105551efbf917d0125777c682eb573a6.png

进入到你的python目录下看看在不在?

仔细看看:

“我的第一份电子表格” 真的就躺在那儿了!

d34bbb75c19d4916dda84f3541d3b0ad.png

打开看看正不正常:

bad1c4f376a2541e4075d2a01d01ebf7.png

9、最后,我也模仿巧乐希老师的介绍,再加上一个打印语句表扬一下努力的自己,创建成功的打印输出。

from openpyxl import Workbookwb = Workbook()ws = wb.activews.title = "我的第一份电子表格"wb.save("我的第一份电子表格.xlsx")print("恭喜你,表格创建成功了!!!")

5d87a9fb5029b35b130a94c7df43b7df.png

接下来继续模仿别人的教程、也来在表格中写入一张乘法表吧!

(以下来源于巧乐希的公众号,学习备忘)

其实,下面的语句还有些看不懂,爸爸叫我先记下来,以后慢慢消化!

向表格里写入运算式

首先,要分析一下九九乘法表的结构,虽然小朋友大都可以倒背如流,但它是怎么样的一个顺序还是需要研究一番的。

79bbeb64860eb337c101bd9620646c12.png

看看上面的图片,是不是有这样的特点呢?

第一行:1×1=1    

第二行:2×1=2    2×2=4    

第三行:3×1=3    3×2=6    3×3=9    

...

...

第八行:8×1=8    8×2=16    8×3=24    8×4=32    8×5=40    8×6=48    8×7=56    8×8=64

第九行:9×1=9    9×2=18    9×3=27    9×4=36    9×5=45    9×6=54    9×7=63    9×8=72   9×9=81    

通过分析可以看出,

第一行只有1列,

第二行有2列,

......,

第八行有8列,

第九行有9列。

将算式分为

【第一个数字】×【第二个数字】=【计算结果】;

【第一个数字】= 行号

【第二个数字】= 列数

【计算结果】= 行号 × 列数

分析完成,开始敲代码。

1、首先,按照行的顺序来完成数据的写入用以下的语句。

#使用for循环,重复9次,完成9行。for row in range(1,10):

row表示行,range(1,10)的解说如下:

#python range() 函数可创建一个整数列表,一般用在 for 循环中。#函数语法range(start, stop[, step])

#参数说明:

start: 计数从 start 开始。默认是从 0 开始。例如range(5)等价于range(0, 5);

stop: 计数到 stop 结束,但不包括 stop。例如:range(0, 5) 是[0, 1, 2, 3, 4]没有5

step:步长,默认为1。例如:range(0, 5) 等价于 range(0, 5, 1)

2、每一行有多少列呢?进行列的操作。在第几行,就有多少列。

第一行的时候只有1列,所以当row=1的时候,column也只能有一个,此时是range(1,2),那么就只有一个1。

第二行的时候只有2列,所以当row=2的时候,column有两个,此时是range(1,3),那么有1,2。

.......

for column in range(1,row+1):

3、在Excel中确定了行和列就可以找到对应的单元格了。通过ws.cell(),将对应的行和列传入函数就可以确定单元格。

cell = ws.cell(row = row, column = column)

4、要写入什么数据呢,需要先将对应的输入格式调整好。

第一个数字×第二个数字数字=计算结果

第一个数字=行号

第二个数字=列数

计算结果=行号×列数

输入格式是这样的:

行号 × 列数 = 行号 × 列数

通过字符串将它们链接起来,这里记得将数字转成字符串str()。

cell_value = str(row) + "×" + str(column) + "=" + str(row*column)

5、数据都整理完成了,开始写入到单元格中,将对应的数据写入对应的单元格中。

cell.value =  cell_value

6、IDLE中需要输入全部代码(逐句输入)展示,需要注意缩进!!!

单元格的操作是在两层循环内的,这样才能保证单元格的一一对应的。

from openpyxl import Workbookwb = Workbook()ws = wb.activews.title = "我的乘法表"for row in range(1,10):    for column in range(1,row+1):        cell = ws.cell(row = row, column = column)        cell_value = str(row) + "×" + str(column) + "=" + str(row*column)        cell.value =  cell_valuewb.save("我的乘法表.xlsx")print("恭喜你,表格创建成功了!!!")

7、Run一下看看效果,这样一个表格就创建好了。

3088ebf886be6e1b58255309c170c642.png

给九九乘法表“填充背景色”

1、只有黑和白的表格看上去干巴巴的,一起来给它涂涂颜色。先给工作表涂上点颜色。

用代码来上色

ws.title = "99乘法表"#接上#给工作表添加背景颜色ws.sheet_properties.tabColor = "f05654"

在ws.title = "99乘法表",后一行添加上增加背景色的代码。

2、设置表格中文字的样式。

需要注意的是在代码的头部导入Font库。

from openpyxl.styles import  Font

然后进行字体样式的设置

cell.value =  cell_value#接上#创建字体样式font_set = Font(name='Arial', size=14, italic=True, color="000000", bold=True)#将字体样式,设置到单元格上,.fontcell.font = font_set

接下来一起看看,每个参数的含义,如果不理解可以翻译一下。

Font

name:字体名称

size:字体大小

italic:斜体(True,False)

color:颜色

bold:加粗(True,False)

strike:为删除线(True,False)

underline:下划线

(singleAccounting,doubleAccounting,double,single)

vertAlign:对齐(subscript,superscript,baseline)

3、设置边框效果,给表格围上一圈边框。

首先需要导入Border和Side库。

from openpyxl.styles import  Borderfrom openpyxl.styles import  Side

然后设置上下左右边框样式。

border = Border(top=Side(border_style="thin", color="FF000000"),                    bottom=Side(border_style="thin", color="FF000000"),                    left=Side(border_style="thin", color="FF000000"),                    right=Side(border_style="thin", color="FF000000"))        cell.border = border

top=设置上边框

bottom=设置下边框

left=设置左边框

right=设置右边框

border_style:边框样式

'mediumDashDot','mediumDashed','dotted','medium','thick','thin','double','dashed','slantDashDot','dashDot','dashDotDot', 'hair','mediumDashDotDot'

4、给单元格填充颜色。

在开始填充颜色之前,先创建一个列表存放9种颜色,为每一行填充一种颜色。这样每次取一种颜色,就可以将表格装饰的很漂亮了。

这个颜色列表写在循环外。

row_color = ["f05654","ff2121","dc3023","ff3300","cb3a56","a98175","b36d61","ef7a82","ff0097"]

填充前,先导入。

from openpyxl.styles import  PatternFill

开始填充

fill = PatternFill("solid", fgColor=row_color[row-1])cell.fill = fill

5、Run运行一下,一个漂亮的九九乘法表就完成了。

27b966dccb2983ab84cc19e7fb91fa5c.png

6、全部代码(一定要注意缩进规范哟,要不然错误很多的 :( )。

from openpyxl import Workbookfrom openpyxl.styles import Fontfrom openpyxl.styles import Borderfrom openpyxl.styles import Sidefrom openpyxl.styles import PatternFillwb = Workbook()ws = wb.activews.title = "99乘法表"ws.sheet_properties.tabColor = "f05654"row_color = ["f05654","ff2121","dc3023","ff3300","cb3a56","a98175","b36d61","ef7a82","ff0097"]for row in range(1,10):    for column in range(1,row+1):        cell = ws.cell(row = row,column = column)        cell_value = str(row)+ "×" + str(column)+ "=" + str(row*column)        cell.value = cell_value        font_set = Font(name='Arial',size=14, italic=True,color="000000",bold=True)        cell.font = font_set        border = Border(top=Side(border_style="thin",color="FF000000"),            bottom=Side(border_style="thin",color="FF000000"),            left=Side(border_style="thin",color="FF000000"),            right=Side(border_style="thin",color="FF000000"))        cell.border = border        fill = PatternFill("solid",fgColor=row_color[row-1])        cell.fill = fill        wb.save("我的九九乘法表.xlsx")print("恭喜你,乘法表表格创建成功了!")

备忘:运行中遇到下面的问题,一直报错:

解释器提示如:

SyntaxError: invalid character in identifier

有人说:

如果一直找不到问题点的话,请确保代码行内没有夹杂中文的空格,tab等,非文字字符。

还有人说:跟中文英文空格一点关系都没有!

原因一:冒号后面有制表符。原因二:或者某个第i行开头是制表符,不能识别制表符。

原因三:python的缩进是4个空格;要严格、规范缩进。

说实话,查错好烦,从别人网站拷贝的代码,想模仿一下,结果反而查错花了快一个小时,不如自己输入呢。

也算是教训吧!

0ee0e7d9df15328195a10c2dcf942ff1.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值