gpt4 book ai didi

python - 在 Python 中使用 MultiIndex 和 to_excel 时创建的标题下方的空行

转载 作者:太空狗 更新时间:2023-10-30 02:01:11 26 4
gpt4 key购买 nike

我正在尝试使用 XlsxWriter 的 to_excel 函数将 Pandas 数据框保存到 excel 文件。

当我将数据帧打印到终端时,它会正常读取,但是当我将它保存到 excel 并打开文件时,标题下方有一个额外的空白行,它不应该在那里。这仅在对 header 使用 MultiIndex 时发生,但我需要它提供的分层 header ,但我找不到解决方案。

下面是来自在线 MultiIndex 示例的代码,它产生的结果与我正在处理的项目相同。任何解决方案将不胜感激。

import numpy as np
import pandas as pd
import xlsxwriter

tuples = [('bar', 'one'), ('bar', 'two'), ('baz', 'one'), ('baz', 'two'), ('foo', 'one'), ('foo', 'two'), ('qux', 'one'), ('qux', 'two')]

index = pd.MultiIndex.from_tuples(tuples, names=['first', 'second'])

iterables = [['bar', 'baz', 'foo', 'qux'], ['one', 'two']]

pd.MultiIndex.from_product(iterables, names=['first', 'second'])

df = pd.DataFrame(np.random.randn(3, 8), index=['A', 'B', 'C'], columns=index)

print(df)

writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='test1')

创建的 excel 输出: enter image description here

最佳答案

非常感谢这个问题和@Teoretic 的解决方法。

但是在我的例子中,Multiindex 列的合并单元格非常有用,而那些在@Teoretic 中丢失了。我已经做了一个替代解决方法,在写入之前隐藏整行,它有效,因此我将它包含在这里以防对任何人有用。

writer = pd.ExcelWriter('test.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='test1')
writer.sheets['test1'].set_row(2, None, None, {'hidden': True})
writer.save()

关于python - 在 Python 中使用 MultiIndex 和 to_excel 时创建的标题下方的空行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52497554/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com