基于 Openpyxl模块操作Excel表格

基于 Openpyxl模块操作Excel表格(读)

作者:杰杰杰杰杰
在校大学生一枚


前言

前面有写过两篇关于openpyxl的文章,但是都不完善,今天对相关的内容加以补充,希望对大家有帮助


一、Openpyxl库的安装

要使用openpyxl库,第一个步骤即是安装,在pycharm终端输入如下代码

pip install openpyxl

二、对Excel表格进行读操作

针对已有的excel表格,我们有时候需要读取其中的内容,这时候我们就要用到读的相关操作

  • 从sheet层面入手

    读取excel表格首先要选中某个sheet,就像我们要先用鼠标选中到sheet才能查看某个sheet中的数据一样

    # 导入模块
    from openpyxl import load_workbook
    
    # 创建workbook对象
    wb = load_workbook("./files")
    
    

    上一步就是将excel表格导入,导入之后我们需要获取到sheet的名称,我们可能知道所有的sheet的名称,也有可能不知道,所以有多种办法定位到我们的sheet

    # 在不知道sheet的名称的情况下,假如我们想要获取到所有sheet的名称,我们可以使用sheetnames方法
    sheets = wb.sheetnames
    # sheetnames方法返回一个列表,列表里放的是所有的sheet的名称
    
    # 在知道sheet的名称的情况下,我们可以使用名称索引的方式定位到某个sheet,例如:
    sheet = wb[sheetname]
    # 这时候sheet就是一个sheet对象,可以进行相关的操作
    
    # 在不知道sheet名称的情况下,我们还可以进行索引取值,我们可以利用索引下标定位到某个sheet
    sheet = wb.worksheets[0]
    # 注意索引从零开始,即相对于起始的偏移量
    

    我们还可以对所有sheet进行遍历(因为有时候需要对每个sheet均要进行操作,一个一个切换太过于繁琐,可以一起进行遍历)

    # 通过sheet名称遍历
    for name in wb.sheetnames:
    	# 每一个sheet对象
    	sheet = wb[name]
    
    # 通过索引遍历
    for sheet in wb.worksheets:
    	# 每一个sheet对象
    	pass
    
  • 从某个sheet中的单元格入手

    在选定了sheet之后我们就需要继续读取单元格了,这时候就需要对刚刚获得的sheet对象进行操作了

    # sheet 中的 cell 方法会返回一个单元格对象,其中的两个参数是单元格的坐标,注意位置是从1开始
    cell = sheet.cell(x,y)
    
    # 定位到第一行第一列的单元格
    cell = sheet.cell(1,1)
    

    有时候上面的方法很方便,但是有时候却不太方便,比如行和列数字很大的时候,如果一个个格子去数很容易出错,这时候我们直接用excel内置的坐标

    # 获取坐标为A2的单元格
    cell = sheet["A2"]
    

    获取某个单元格的数据,或者更改某个单元格中的数据

    #  利用单元格的value属性
    value = cell.value
    
    # 更改某个单元格中的值
    cell.value = "更改后的值"
    
  • 从某个sheet中的某一行或者某一列入手

    有时候我们需要遍历某一行中的所有单元格,或者某一列中的所有单元格

    # 定位到某一行(例如第五行)
    row = sheet[5]
    
    # 遍历这一行中所有的单元格
    for cell in row:
    	# 可以尝试一下输出 sheet[5],实际上是一个元组里面放置了那一行所有的cell对象
    	pass
    # 遍历所有行
    for row in sheet.rows:
    	# row即是每个行对象
    	pass
    

    有时候我们需要遍历每一列

    for col in sheet.columns:
    	# 每个col就是每一个列对象
    	pass
    

    最后聊一聊合并后的单元格怎么读,其实很简单,就是读合并后的单元格的第一格,例如A1,B1,C1三个格子合并了,就直接读A1即可


总结

以上就是利用openpyxl对excel表格进行的相关读操作,明天我会把写的操作更新出来,希望对大家有帮助

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值