python3学习笔记 pdf_Python 3 学习笔记:Excel 基础操作(二)

d427976fa8c20b6abeb1be920353592e.png

赋值与取值

赋值

上面的操作都是针对工作薄及工作表的,但是我们知道在 Excel 文件中,真正的数据都是储存在单元格中的。

在 Excel 文件中,列使用字母表示,行使用数字表示,如果将其视为一个坐标系,则列的值就是 X 轴坐标值,行的值就是 Y 轴坐标值,单元格是列与行的交叉点,所以单元格表示成 A1、F5 等。

给单元格赋值同样可以采用类似索引的方式,首先取得工作表,然后再给其中某个单元格赋值即可,

workBookobject["sheetName"]["cellName"] = value

其中,cellName 就是单元格的名称,如 A1、F5 等。

还可以使用 cell() 方法对单元格进行赋值,

workBookobject["sheetName"].cell(column=colNo, row=rowNo, value=value)

该方法需要三个参数,即列、行和值。

其中,列比较特殊,虽然在 Excel 文件中,列是由字母表示的,但是在 cell() 方法中,列和行一样都是使用整数表示,从 1 开始。例如,E3 这个单元格的列是 E,但是在 cell() 方法中需要将其赋值为整数 5,如:

workBookobject["sheetName"].cell(column=5, row=3, value="python")

取值

取值很简单,直接使用单元格的编号即可取出其中的数据,

workBookobject["sheetName"]["cellName"].value

cellName 表示单元格的名字,即它的列和行的坐标点,如 A9。单元格除了 value 这个属性,还有 column(列)和 row(行)两个属性,用法同 value 一样。

上面是取一个单元格的值,如果想要取一行中若干个单元格的值,只要在起始的单元格和结束的单元格之间使用冒号(:)分隔即可,

workBookobject["sheetName"]["startCellName":"endCellName"]

或者,

workBookobject["sheetName"]["startCellName:endCellName"]

得到的结果是一个元组的元组,即二维元组,里层元组的元素是 Cell 类型,如下所示:

((,),(,),(,),(,),(,),(,),(,),(,),(,))

所以,访问其中 A3 的值就是,

workBookobject["sheetName"]["A1:A9"][3][0].value

同理,如果是多列多行的单元格,同样是一个二维元组,

((, , ),(, , ),(, , ),(, , ),(, , ),(, , ),(, , ),(, , ),(, , ))

只不过这里是以列为基准,抛开外层元组不看,里层每个元组的元素都是同一列的单元格。

使用公式

在单元格使用公式与在 Office Excel 中操作文件一样,如设置一个 SUM 公式,

workBookobject["sheetName"]["A10"].value = "=SUM(A1:A9)"

则单元格 A10 的值就是 A1 到 A9 的和,前提是其中的数据是可以计算的。

但是,openpyxl 不会检查写的 Excel 公式名称及语法是否正确,如果错误不会给出任何提示,但是可以使用 openpyxl.utils 中的 FORMULAE 检查公式名称是否正确,例如,

from openpyxl.utils import FORMULAEprint("SUM" in FORMULAE)

如果公式名称返回 True,否则返回 False。

加载已有文件

如果需要打开一个已经存在的 Excel 文件,可以先加载该文件,

from openpyxl import load_workbookworkBookobject = load_workbook("example.xlsx")

同样可以使用上面的方法对数据进行操作。

◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆◆ ◆ ◆ ◆ ◆◆

为了帮各位观众老爷们快速入门python,我在这里准备了一套“经典入门教程”,这些是入门付费教程哦,现在当做福利免费赠送给各位观众老爷们,私信我“python入门”就可以领取!

点击我的头像关注我进入主页,就能看到私信按钮了。私信我“python入门”,一个字不能多一个字不能少,即可快速领取!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值