使用openpyxl在做一份分析报表的时候,所生产的DataFrame的列是多级索引的列,通过dataframe_to_rows将DataFrame转化为ws对象的时候,发现出现了数据的报错
for r in dataframe_to_rows(df, index=False, header=True):
ws.append(r)
报错内容如下:
'MultiIndex' object has no attribute 'labels'
通过源码,发现源码是这么写的,但是自己试了一下,发现我的版本并没与df.columns.labels这个属性~~
if header:
if df.columns.nlevels > 1:
rows = expand_levels(df.columns.levels, df.columns.labels)
else:
rows = [list(df.columns.values)]
for row in rows:
n = []
for v in row:
if isinstance(v, numpy.datetime64):
v = Timestamp(v)
n.append(v)
row = n
if index:
row = [None]*df.index.nlevels +