前言
不奋苦而求速效,只落得少日浮夸,老来窘隘而已。——郑板桥
最近笔者在认真的录制HTTP协议&FIDDLER的课程视频,沉寂了几天没来写,今天继续~
一、openpyxl模块是什么
- python第三方工具包,用于操作excel表格(支持读写);
- 只能支持 excel 2007 以上版本的文件(.xlsx后缀),不过也够用了。
二、安装openpyxl模块
- 命令行中输入:pip install openpyxl
- 下载安装包进行离线安装
三、openpyxl模块应用实战
import openpyxl
#创建一个工作薄对象
wb = openpyxl.load_workbook('stu_info.xlsx')
#根据工作表格名称创建工作表对象
sheet = wb['Sheet1']
#根据单元格名称获取单元格内的值
a1_value = sheet['A1'].value #结果:学生学号
#根据表格的行列编号获取单元格的值 ,编号默认从1开始
a1_value = sheet.cell(row=1, column=1).value #结果:学生学号
#获取表格最大的行编号
max_row_num = sheet.max_row
#获取表格最大的列编号
max_column_num = sheet. max_column
#迭代器方式,按行获取所有单元格(Cell对象)
for row in sheet.iter_rows():
for cell in row:
print(cell.coordinate,end=' : ') #cell.coordinate输出单元格的姓名
print(cell.value,end=' ')
print()
#获取一个区域的单元格对象,返回一个特定的元组类型:( (),(),(),() )
cells = sheet['A1':'B2'] #结果:( (<Cell 'Sheet1'.A1>, <Cell 'Sheet1'.B1>) , (<Cell 'Sheet1'.A2>, <Cell 'Sheet1'.B2>) )
#循环的方法显示单元格内容
for c in cells:
print(c[1].value) # 结果:展示B1、B2的内容 -->学生姓名、王天
上述例子小结:
- 上述代码执行前,读者可自行建立如上excel表格,名称为stu_info.xlsx;
- sheet['A1':'B2'] 表示 获取一个表格区域,为 A1、A2、B1、B2四个单元格对象,读者可自行扩大区域;
- 这个例子讲解了openpyxl如何读取excel数据,它还可以进行写excel数据。