笔者最近在做软件,如果使用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 #最小行</