Pandas 数据框。添加额外的行 header 合并所有列
Pandas dataframe. Add an aditional row header merging all columns
我想使用 pandas 数据框向我的 excel 添加“第二个”header。
excel 有他的价值观和 header。但我想在 header 上方添加一个新行,只有一列(所有列的大小 header)。并以文字为中心。
像这样:
我该怎么做?
使用MultiIndex.from_product
,但文本未居中:
df.columns = pd.MultiIndex.from_product([['Result'], df.columns])
编辑:
import string
# Creating a DataFrame
df = pd.DataFrame(np.random.randn(8, 6), columns=list('ABCDEF'))
# Create a Pandas Excel writer using XlsxWriter engine.
writer = pd.ExcelWriter("test.xlsx", engine='xlsxwriter')
# Create custom style
df.to_excel(writer, sheet_name='Sheet1', startrow=1, index=False)
# Get workbook and worksheet objects
workbook = writer.book
worksheet = writer.sheets['Sheet1']
merge_format = workbook.add_format({'align': 'center'})
len_cols = len(df.columns)
#set merge_range by length of colums names
len_cols = len(df.columns)
worksheet.merge_range(0, 0, 0, len_cols - 1, 'Result', merge_format)
writer.save()
我想使用 pandas 数据框向我的 excel 添加“第二个”header。 excel 有他的价值观和 header。但我想在 header 上方添加一个新行,只有一列(所有列的大小 header)。并以文字为中心。 像这样:
我该怎么做?
使用MultiIndex.from_product
,但文本未居中:
df.columns = pd.MultiIndex.from_product([['Result'], df.columns])
编辑:
import string
# Creating a DataFrame
df = pd.DataFrame(np.random.randn(8, 6), columns=list('ABCDEF'))
# Create a Pandas Excel writer using XlsxWriter engine.
writer = pd.ExcelWriter("test.xlsx", engine='xlsxwriter')
# Create custom style
df.to_excel(writer, sheet_name='Sheet1', startrow=1, index=False)
# Get workbook and worksheet objects
workbook = writer.book
worksheet = writer.sheets['Sheet1']
merge_format = workbook.add_format({'align': 'center'})
len_cols = len(df.columns)
#set merge_range by length of colums names
len_cols = len(df.columns)
worksheet.merge_range(0, 0, 0, len_cols - 1, 'Result', merge_format)
writer.save()