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

python笔记-文件处理办公类-关于Excel,第1张

python笔记-文件处理/办公类-关于Excel
  • ★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类文件的笔记

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

1 几个用于Excel的库

补充安装库的方法(以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')

运行结果
终端:

当前目录新增加的文件:

根据代码补充笔记:
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 ↩︎ ↩︎

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/langs/786001.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-04
下一篇 2022-05-04

发表评论

登录后才能评论

评论列表(0条)

保存