封装openpyxl以直接按表头读取数据

本文介绍了在项目中为解决使用pandas打包exe体积过大问题,转向使用openpyxl包。由于openpyxl不自动索引表头且无直接按表头读取列的方法,作者提供了两种自行封装的解决方案,其中第二种方法在性能上比第一种快约一倍。需要注意的是,openpyxl中空单元格的value为None,且只能通过名字读取sheet。
摘要由CSDN通过智能技术生成

笔者最近在做软件,如果使用pandas操作表格的话,打包成exe体积太大(100+mb),切换为openpyxl包来使用,这样加上pyqt5也只有40多mb大小。
openpyxl比pandas麻烦一些,不会自动索引表头,从1开始记数而不是0。
openpyxl没有提供原生api直接按表头数值读取列值,这里做一个简单的封装。笔者写了到两种方法,经过测试,第二种方法比第一种方法大概快一倍左右。
注意,空单元格的value是None;openpyxl只能按名字读取表格的sheet。
第一种方法:

# -*- coding: utf-8 -*-
"""
Created on Mon Mar  8 13:15:13 2021

@author: KaireyX1C6th
"""
from openpyxl import load_workbook
wb = load_workbook(filename = '.\\rawData\\p.xlsx', data_only=True)
sheet = wb[wb.sheetnames[0]]
minRow=sheet.min_row #最小行</
  • 2
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值