接上一篇的博客,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)