在python中附加数据

时间:2016-01-30 11:27:18

标签: python pandas dataframe

我有一个像这样的csv文件

out.csv
seedProductId,relatedProducts

我的输出是在dftype对象中看起来像这样

100A7E54111FB143    
100D11CF822BBBDB    
1014120EE9CCB1E0    
10276825CD5B4A26    
10364F56076B46B7    
103D1DDAD3064A66    
103F4F66EEB54308    

我想用分隔符' |'附加此输出。我会将另一个输入作为动态传递。

所以我想要像这样的操作

out.csv
seedProductId, relatedProducts
103F4F66EEB54308, 100A7E54111FB143 | 100D11CF822BBBDB | 10276825CD5B4A26 ...

任何帮助将不胜感激。

1 个答案:

答案 0 :(得分:1)

您可以使用cat合并数据,然后为每列创建新的Series,并concat。上次将to_csv的输出数据写入file

print df
                  A
0  100A7E54111FB143
1  100D11CF822BBBDB
2  1014120EE9CCB1E0
3  10276825CD5B4A26
4  10364F56076B46B7
5  103D1DDAD3064A66
6  103F4F66EEB54308

seedProductId = "id790"
s1 = pd.Series(seedProductId, name='seedProductId')
print s1
0    id790
Name: seedProductId, dtype: object

relatedProducts = df.A.str.cat(sep='|')
print relatedProducts
100A7E54111FB143|100D11CF822BBBDB|1014120EE9CCB1E0|10276825CD5B4A26|10364F56076B46B7|103D1DDAD3064A66|103F4F66EEB54308

s2 = pd.Series(relatedProducts, name='relatedProducts')
print s2
0    100A7E54111FB143|100D11CF822BBBDB|1014120EE9CC...
Name: relatedProducts, dtype: object

df = pd.concat([s1, s2], axis=1)

print df.to_csv(index=False)
seedProductId,relatedProducts
id790,100A7E54111FB143|100D11CF822BBBDB|1014120EE9CCB1E0|10276825CD5B4A26|10364F56076B46B7|103D1DDAD3064A66|103F4F66EEB54308