接上一篇的博客,openpyxl自带的max_column也存在类似问题,所以我又写了一个函数,获取真实的最大列数。

import openpyxl
f = r'D:\data.xlsx'
wb=openpyxl.load_workbook(f)
ws=wb.active
print("max_column获取的最大列数:",ws.max_column)

def get_real_max_column(ws):
    real_max_column = ws.max_column
    columns = [column for column in ws.columns]
    while real_max_column>0:
        column_dict = {c.value for c in columns[real_max_column-1]}
        if column_dict=={None}:
            real_max_column = real_max_column-1
        else:
            break

    return real_max_column


real_max_column = get_real_max_column(ws)
print("通过自定义函数获得的最大列数:",real_max_column)
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐