我有一个带有多索引的pandas数据帧,默认情况下,当打印到屏幕时,它会" sparsify"输出,以便不重复索引的更高级别。例如:
稀疏
我可以将其更改为" unsparse"如下:
然而,df.to_excel(writer)并不尊重此选项,它总是将索引写为稀疏的合并单元格。是否有某种方法可以在" unsparse"办法?或者,我可以写入csv并将其导入excel,因为csv总是" unsparse",但这有点烦人。
答案 0 :(得分:5)
在写入Excel之前尝试应用reset_index()
。
一个例子:
first second
bar one -0.008620
two 1.688653
baz one -0.145099
two 0.870981
foo one 2.544494
two 0.935468
qux one -1.868521
two -0.118242
打印(s.reset_index())
first second 0
0 bar one -0.008620
1 bar two 1.688653
2 baz one -0.145099
3 baz two 0.870981
4 foo one 2.544494
5 foo two 0.935468
6 qux one -1.868521
7 qux two -0.118242
答案 1 :(得分:0)
现在您可以指定merge_cells=False
一个例子:
arrays = [['bar', 'bar', 'baz', 'baz', 'foo', 'foo', 'qux', 'qux'],
['one', 'two', 'one', 'two', 'one', 'two', 'one', 'two']]
df=pd.DataFrame(np.random.randn(8, 4), index=arrays)
df.to_excel('example.xlsx',merge_cells=False)