gpt4 book ai didi

python - 如何将dataFrame中的groupby分组表写入word文档?

转载 作者:行者123 更新时间:2023-12-01 08:22:32 28 4
gpt4 key购买 nike

我是 pandas 和 python-docx 的新手,在 pandas 中使用 groupby 有一个像这样的表:

使用 print(df) 打印 df

输出:

Change Type      typeA        typeB     typeC    typeD    typeE    typeF
Component
A 0 2 6 0 0 6
B 0 3 2 1 1 3
C 0 1 0 0 0 4
D 0 2 2 0 0 3
E 0 0 0 0 0 1
F 0 3 0 0 1 2
G 2 1 3 0 2 3
H 0 0 0 0 0 1
I 0 1 0 0 0 0

我使用以下命令将此数据帧df写入word文档:

t = doc.add_table(df.shape[0]+1, df.shape[1])

for j in range(df.shape[-1]):
t.cell(0,j).text = df.columns[j]


for i in range(df.shape[0]):
for j in range(df.shape[-1]):
t.cell(i+1,j).text = str(df.values[i,j])

如答案中所述: Writing a Python Pandas DataFrame to Word document

我收到以下打印内容:

typeA        typeB     typeC    typeD    typeE    typeF
0 2 6 0 0 6
0 3 2 1 1 3
0 1 0 0 0 4
0 2 2 0 0 3
0 0 0 0 0 1
0 3 0 0 1 2
2 1 3 0 2 3
0 0 0 0 0 1
0 1 0 0 0 0

我是新手,因此无法弄清楚我哪里出错了,我想打印整个表格?

最佳答案

看起来您没有将数据帧的index值写入文件。我修改了您的脚本,以表明您可以使用 df.index 来访问这些内容,然后将它们写入第一列。

#...

t = doc.add_table(df.shape[0]+2, df.shape[1]+1) #df.shape[1]+1 to add one extra column for row names

for j in range(df.shape[-1]):
t.cell(0,j+1).text = df.columns[j]

for i in range(df.shape[0]):
for j in range(df.shape[-1]):
t.cell(i+2,j+1).text = str(df.values[i,j])

# write columns name to file
t.cell(0,0).text = df.columns.name

# write the index values to file
t.cell(1,0).text = df.index.name

for i, my_index in enumerate(df.index):
t.cell(i+2,0).text = my_index

关于python - 如何将dataFrame中的groupby分组表写入word文档?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54532087/

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