2014-05-09 90 views
1

我有一個數組myarray中具有類似:[[10.54552827 0.10287327 0.21923103]]打印陣列不帶括號

我使用csv.writer輸出數組元素和附加的數字變量e.q. cntr和n_obs都用str()轉換爲字符串輸出。

我的代碼:

writer.writerow([cntr, n_obs, str(myarray)[2:-2]]) 

它消除了括號,但在STR(myarray中)不插入逗號[2:-2]部分。

我怎麼能創建這個,所以我有5個值(cntr,n_obs和3個數組元素)作爲逗號分隔?另外,有沒有一種方法來格式化數組元素的值,如浮點10.6?

+0

我正在使用python 2.7。 – user3609671

+1

這就是'join()'的用途。 '','。join(myarrayWithStringValues)' –

+0

不知道爲什麼,但是我爲myarray [[10.54552827 0.10287327 0.21923103]]給出的例子似乎沒有奏效。甚至嘗試過:','.join(map(str,myarray))無濟於事。我究竟做錯了什麼? – user3609671

回答

0

您是否嘗試過使用string.join()

myarray = [ 10.54552827, 0.10287327, 0.21923103 ] 
rounded = ["%.2f" % i for i in myarray] 

lst = [ cntr, n_obs ] 
print ','.join(lst.extend(lst)) 

我希望我正確地解釋你的陣列。

+0

不,我的數組和我發佈的完全一樣:[[10.54552827 0.10287327 0.21923103]]。每邊2個括號,沒有逗號。 – user3609671

+0

樣本是如何初始化的?我可以理解它是否是列表中的列表。 –

+0

對不起,我把你的數組解釋爲一個列表。所以你用'import array'使用實際的數組?如果是這樣,那麼爲什麼不用'myarray.tolist()'將它轉換成列表? –