如何通过python将pivot_table写入txt文件

时间:2017-05-04 05:11:25

标签: python pandas

我得到了pivot_table,如下所示:

source table

表格中有空格, 我想写给txt的是:

desired result

如何获得它?

chaoshidishi=pd.pivot_table(clsc,index="故障发生地市",values="工单号",aggfunc=len)
chaoshidishi=chaoshidishi.to_frame()
f=open('E:\gaotie\dishi.txt','w')
for row in chaoshidishi:
    f.write(row[0]+row[1])
f.close()

1 个答案:

答案 0 :(得分:0)

跟进@ shanmuga的评论,您应该可以在不先使用to_csv()的情况下使用to_frame()

首先,这里有一些似乎反映您设置的示例数据:

import pandas as pd

group = ['a','a','b','c','c']
value = [1,2,3,4,5]

df = pd.DataFrame({'group':group,'value':value})
print(df)

  group  value
0     a      1
1     a      2
2     b      3
3     c      4
4     c      5

现在应用pivot_table()

df.pivot_table(columns='group', values='value', aggfunc=len)

group
a    2
b    1
c    2
Name: value, dtype: int64

您可以直接从此输出保存到文件。如果您不想保留索引和列名称,请在加载时使用header=None

(df.pivot_table(columns='group', values='value', aggfunc=len)
   .to_csv('foo.txt'))
newdf = pd.read_csv('foo.txt', header=None)

print(newdf)

   0  1
0  a  2
1  b  1
2  c  2

要保留列名和索引名,请在保存时使用header参数,在加载时使用index_col参数:

(df.pivot_table(columns='group', values='value', aggfunc=len)
   .to_csv('foo.txt', header='group'))
newdf = pd.read_csv('foo.txt', index_col='group')

print(newdf)

       value
group       
a          2
b          1
c          2