- ★Python处理Excel类文件的笔记
- 1 几个用于Excel的库
- 1.1 OpenPyXL
- 1.1.1 openpyxl中的基本函数/方法/类:
- (1)load_workbook('此处输入文件路径')
- (2)Workbook(‘此处输入文件名字’)
- (3)Workbook对象.save('指定保存路径')
- (4)综合(1)(2)(3)的代码实例
- 1.1.2 两个方法的进一步解释
- (1)方法iter_rows()
- (2)方法append()
- 1.1.3 关于单元格
- (1)value属性
- 1.2 xlwings
选取python的文件处理(办公自动化)方向中的Excel文件处理部分进行笔记学习记录。——长期更新/完善后续内容。
1 几个用于Excel的库补充安装库的方法(以windows系统,安装openpyxl库为例):
openpyxl是个读写 Excel 2010 xlsx/xlsm/xltx/xltm 的 Python 第三方库,简单易用,功能广泛,单元格格式/图片/表格/公式/筛选/批注/文件保护等等功能应有尽有,图表功能是其一大亮点1。
在这里可以更详细地了解关于这个库的使用
使用该函数来获取当前目录(指定目录)下的.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')
运行结果
终端:
当前目录新增加的文件:
根据代码补充笔记:
openpyxl库获取工作簿中的表的方式:
a.工作簿对象[‘表名’]
b.工作簿对象.active
根据Excel中数字表示行,字母表示列:(元组)
工作表对象[1] :表示第一行
工作表对象[‘a’]:表示第一列
具体用法见1.1.1中的(4)中遍历的部分:
工作表对象.iter_rows(min_row=11,max_row=20,min_col=2,max_col=4,values_only=True):
(2)方法append()参数values_only:决定是否返回单元格的值。
读数据需要将该参数设置为True;写入数据需要将该参数设置为False。
iter_rows()返回一个可迭代对象,该对象中有n个元组,n为参数中指定的行数,每一个元组都代表了表格中的一行。
具体用法见1.1.1中的(4)中倒数第二行有效代码:
工作表对象.append(info_tuple)
格式:工作表对象.append(列表/元组)
1.1.3 关于单元格 (1)value属性使用append()添加完数据后,如果想要在本地的Excel文件中看到添加后的数据,就一定要将工作簿保存下来,即使用工作簿对象的方法save()
获取单元格的值:单元格对象.value
修改单元格的值:单元格对象.value = 值
是一个基于 BSD 授权协议的 Python 库,可以轻松的使用 Python *** 作 Excel,也可以在 Excel 中调用 Python,以接近 VBA 语法的实现 Excel 编程,支持 Excel 宏,并且可以作为 Web 服务器,提供 REST API 接口1。
(未完待续…)
https://zhuanlan.zhihu.com/p/409954748 ↩︎ ↩︎
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)