2013-06-24 36 views
0

我想採用多個numpy數組並將它們寫入逗號分隔的文本文件。以下是我原始數據和我試圖生成的最終數據的示例:將多個單獨的numpy數組寫入單個逗號分隔的文本文件

array([[1., 3., 0., 1.], 
     [2., 5., 3., 1.]]..... 

等等。對於四列長度的多個不同的陣列。我可以得到一個徹頭徹尾使用write()把txt文件,但我不能得到下圖所示的數據轉換成格式:

1., 3., 0., 1. 
2., 5., 3., 1. 

另外,我需要有第0列整數,並通過第三一號浮點。

乾杯。

回答

2

這個怎麼樣?

data = array([[1., 3., 0., 1.], 
       [2., 5., 3., 1.]]..... 

with open('output.csv', 'w') as f: 
    for x in data: 
     f.write('%d,%f,%f,%f\n' % tuple(x)) 

此輸出

1,3.000000,0.000000,1.000000 
2,5.000000,3.000000,1.000000 

你可以通過改變%f%.2f,如果你想保留兩位小數,例如調整浮點輸出的精度。

+0

通過它的外觀需要有一些'.'的... –

+0

@JonClements我以爲'.'所指的內容的事實這些值是浮點數。 –

+0

謝謝Bhajun,它運作得非常好 – user2464402

0

我會建議使用熊貓此:

import numpy 
import pandas 
data = numpy.array([[1., 3., 0., 1.], 
    [2., 5., 3., 1.]]) 
data = pandas.DataFrame(data,columns=['a','b','c','d']) 
data['a'] = data['a'].astype(int) 
data.to_csv('outfile.csv') 
相關問題