python笔记-文件处理/办公类-关于Excel

★Python处理Excel类文件的笔记

选取python的文件处理(办公自动化)方向中的Excel文件处理部分进行笔记学习记录。——长期更新/完善后续内容。

1 几个用于Excel的库

补充安装库的方法(以windows系统,安装openpyxl库为例):
windows系统,安装openpyxl库

1.1 OpenPyXL

openpyxl是个读写 Excel 2010 xlsx/xlsm/xltx/xltm 的 Python 第三方库,简单易用,功能广泛,单元格格式/图片/表格/公式/筛选/批注/文件保护等等功能应有尽有,图表功能是其一大亮点1
在这里可以更详细地了解关于这个库的使用

1.1.1 openpyxl中的基本函数/方法/类:
(1)load_workbook(‘此处输入文件路径’)

使用该函数来获取当前目录(指定目录)下的.xlsx文件(Excel文件)

book1 = load_workbook('./test.xlsx')
(2)Workbook(‘此处输入文件名字’)

使用该函数来创建一个新的的.xlsx文件(Excel文件)

book2 = Workbook('./test.xlsx')
(3)Workbook对象.save(‘指定保存路径’)

使用方法.save()来将(2)中新创建的xlsx文件储存到指定目录

book2.save('./test2.xlsx')

注意:(1)与(3)结合使用,可对一个现有的xlsx文件进行改动并进行“另存为”的操作,当save的路径与原文件一致时,执行操作为普通的保存

(4)综合(1)(2)(3)的代码实例

操作一个之前在某网站爬取的电影前100排名xlsx文件,具体内容(部分)如下所示:仅作为学习用
该xlsx文件名为Movies.xlsx,文件内有100条电影信息,分别存放在100行,一共有5列。
使用方法iter_rows来提取该文件的相关信息;
使用方法append来对文件进行修改。
*[方法]:由于加粗文本需要,省略了方法后的括号。在python中,方法的正确表达式为【方法名称()】

#为方便起见使用了from...import...
#导入库
from openpyxl import load_workbook

#使用load_workbook()方法读取文件
Mov_A = load_workbook('./Movies.xlsx')
#Excel工作簿中的表,即新建Excel的时候Sheet那个部分
Mov_B = Mov_A['movies']

#按照参数遍历对应内容
for row in Mov_B.iter_rows(min_row=11,max_row=20,min_col=2,max_col=4,values_only=True):
    print(row)

#在原文件增加一行,并使用append函数将元组格式的增加内容加入到文件中
info_tuple = ('101','神奇动物园','9.0''这是我自己加的电影,所以没有推荐语。','链接略')
Mov_B.append(info_tuple)
#储存文件
Mov_A.save('./Movies2.xlsx')

运行结果
终端:
排名11-20的电影内容
当前目录新增加的文件:
排名等仅做学习用
根据代码补充笔记:
openpyxl库获取工作簿中的表的方式:
a.工作簿对象[‘表名’]
b.工作簿对象.active

1.1.2 两个方法的进一步解释

根据Excel中数字表示行,字母表示列:(元组)
工作表对象[1] :表示第一行
工作表对象[‘a’]:表示第一列

(1)方法iter_rows()

具体用法见1.1.1中的(4)中遍历的部分:

工作表对象.iter_rows(min_row=11,max_row=20,min_col=2,max_col=4,values_only=True):

参数values_only:决定是否返回单元格的值。
读数据需要将该参数设置为True;写入数据需要将该参数设置为False。
iter_rows()返回一个可迭代对象,该对象中有n个元组,n为参数中指定的行数,每一个元组都代表了表格中的一行。

(2)方法append()

具体用法见1.1.1中的(4)中倒数第二行有效代码:

工作表对象.append(info_tuple)

格式:工作表对象.append(列表/元组)

使用append()添加完数据后,如果想要在本地的Excel文件中看到添加后的数据,就一定要将工作簿保存下来,即使用工作簿对象的方法save()

1.1.3 关于单元格
(1)value属性

获取单元格的值:单元格对象.value
修改单元格的值:单元格对象.value = 值

1.2 xlwings

是一个基于 BSD 授权协议的 Python 库,可以轻松的使用 Python 操作 Excel,也可以在 Excel 中调用 Python,以接近 VBA 语法的实现 Excel 编程,支持 Excel 宏,并且可以作为 Web 服务器,提供 REST API 接口1


(未完待续…)


  1. https://zhuanlan.zhihu.com/p/409954748 ↩︎ ↩︎

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

乌漆帅黑

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值