2017-05-04 177 views
0

寫pivot_table爲txt文件,我已經得到了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() 
+2

爲什麼不使用[DataFrame.to_csv](http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html#pandas-dataframe-to-csv)功能 – shanmuga

回答

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 
+0

要保存列和索引名稱,newdf中仍然有NaN? 我想輸入像「一個,2個蘋果\ n b,1個啤酒\ n」到txt – HOLYChen