【发布时间】:2020-03-18 12:52:40
【问题描述】:
我想将 Pandas 数据透视表以探测方式保存到 Excel 工作簿中。
我有一个基于这个公式的 pandas 数据透视表:
table = pd.pivot_table(d2, values=['Wert'], index=['area', 'Name'], columns=['Monat'],
aggfunc={'Wert': np.sum}, margins=True).fillna('')
来自我的原始数据框:
df
Area Name2 Monat Wert
A A 1 2
A A 1 3
A B 1 2
A A 2 1
所以数据透视表如下所示:
Wert
Monat 1 2 All
Area Name
A A 5 1 6
B 2 2
All 7 1 8
然后我想用以下代码将它保存在一个 excel 工作簿中:
import pandas as pd
import xlsxwriter
workbook = xlsxwriter.Workbook('myexcel.xlsx)
worksheet1 = workbook.add_worksheet('table1')
caption = 'Table1'
worksheet1.set_column(1, 14, 25) #irrelevant, just a random size right now
worksheet1.write('B1', caption)
worksheet1.add_table('B3:K100', {'data': table.values.tolist()}) #also wrong size from B3 to K100
workbook.close()
如何调整它并在 Excel 中保存数据透视表?
如果我使用 pandas 命令.to_excel,它看起来像这样:
这很好,但列名不尊重名称的宽度,背景颜色也不好看,而且我也错过了捕获。
【问题讨论】:
-
您是否考虑过使用其
.to_excel()方法简单地导出熊猫数据框? -
我做了这个,但是看起来不太好,您认为先导出然后调整它更好吗?
-
定义“不太好”。如果是索引困扰您,可以选择
index=False来阻止它出现。 -
单元格宽度、布局、数字格式
-
单元格宽度是查看器上的一个选项,它与 pandas 无关,也与 xlsxwriter 无关。您可以使用
to_excel的float_format选项和布局调整数字格式,这对我来说不清楚。您能否将这些详细信息添加到您的问题中?
标签: python excel pandas xlsxwriter