python常识系列05-->python利用openpyxl读取excel文件

前言

        不奋苦而求速效,只落得少日浮夸,老来窘隘而已。——郑板桥
        最近笔者在认真的录制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数据。
原文地址:https://www.cnblogs.com/dream66/p/12599627.html