【干货】Python:load_workbook用法(持续更新)

本文详细介绍了如何使用Python的openpyxl库读取和操作Excel文件,包括加载工作簿、选择Sheet、查看行列、单元格访问及批量数据抓取。重点展示了load_workbook方法及其应用实例,适合Excel数据处理初学者和开发者。
摘要由CSDN通过智能技术生成

功能

读取excel文件,并进行操作

方法

示例文件

本文用到的示例文件为一个excel表格,含有名为“电子信息1班”和“电子信息2班”两个Sheet。其内容均为成绩单。
在这里插入图片描述

模块读取

>>> from openpyxl import load_workbook

导入excel表格

使用load_workbook('表名.xlsx')导入excel表格:

>>> wb = load_workbook("电信成绩单.xlsx")
>>> wb
<openpyxl.workbook.workbook.Workbook at 0x1ad7ad45ac8>

经过测试发现,active默认首先展示的似乎是,保存excel的时候最后点开的那个Sheet,而非默认展示表格里的第一个Sheet。因此,这里我们显示的是第二个Sheet“电子信息2班”:

>>> ws = wb.active
>>> ws
<Worksheet "电子信息2班">

既然如此,就用第二个sheet作为示例吧!

获取Sheet

  1. 使用get_sheet_by_name('表名')获取指定的表:
>>> wb.get_sheet_by_name('电子信息1班')
<Worksheet "电子信息1班">
  1. 使用get_sheet_names()直接获取全部表名,输出为list形式:
>>> sheet_name = wb.get_sheet_names()
>>> sheet_name
['电子信息1班', '电子信息2班']

查看行与列

  1. 查看最大行数:
>>> row_num = ws.max_row
>>> row_num
5
  1. 查看最大列数:
>>> col_num = ws.max_column
>>> col_num
3

查看单元格

  1. 查看A1单元格的内容:
>>> a1 = ws['A1'].value
>>> a1
'成绩单'

查看A1单元格显示的是“成绩单”,但是A1B1C1被我合并为了一个单元格,是否查看B1C1同样也是返回“成绩单”呢?
在这里插入图片描述
然而,查看B1、C1,显示的为None。看来,合并后的单元格只能默认使用其第一个小单元格地址来查询。

>>> b1 = ws['B1'].value
>>> print(b1)
None
>>> c1 = ws['C1'].value
>>> print(c1)
None
  1. 查看第二行第一列的内容:
>>> b = ws.cell(row = 2,column = 1).value
>>> b
'名字'

批量访问数据

>>> ws.rows
<generator object Worksheet._cells_by_row at 0x000001CDD21BD3B8>
>>> ws.columns
<generator object Worksheet._cells_by_col at 0x000001CDD21BD048>
  1. 按行访问数据:
>>> lst = []
>>> for row in ws.rows:
>>>		for col in row:
>>>        	lst.append(col.value)
>>> print(lst)
['成绩单', None, None, '名字', '体育', '系统控制', '小刘', 90, 50, '小朱', 70, 80, '小孙', 60, 20]
  1. 按列访问数据:
>>> lst = []
>>> for col in ws.columns:
>>> 	for row in col:
>>>     	lst.append(row.value)
>>> print(lst)
['成绩单', '名字', '小刘', '小朱', '小孙', None, '体育', 90, 70, 60, None, '系统控制', 50, 80, 20]
  • 31
    点赞
  • 201
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 7
    评论
评论 7
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

调参侠鱼尾

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

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

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

打赏作者

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

抵扣说明:

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

余额充值