2017-06-12 122 views
0

我試圖使用writer.writerow將數組中的數據呈現給csv文件。我有一個數組sum_balance,顯然我需要將它轉換爲一個numpy數組,然後才能使用writer.writerow函數。我的繼承人代碼:從數組寫入CSV文件

numpy_arr = array(sum_balance) 
with open("output.csv", "wb") as csv_file: 
    writer = csv.writer(csv_file, delimiter=',') 
    for element in numpy_arr: 
     writer.writerow(element) 
csv_file.close() 

但我仍然得到錯誤:writer.writerow(element)_csv.Error: iterable expected, not numpy.float64

回答

2

numpy迭代似乎遍歷元素,而不是行,這就是爲什麼你會得到一個錯誤。但是,還有一個更簡單的方式來實現你想要做什麼:numpy有一個例行savetxt可以寫一個ndarray到CSV文件:

output_array = np.array(my_data) 
np.savetxt("my_output_file.csv", output_array, delimiter=",") 
+0

它打印出它逐行,是有可能的打印它逐列? – anderish

+0

是的。任何'numpy.ndarray'都可以用'array_name.T'轉置。所以要用列寫行,你只需要執行'np.savetext(「output_file_name」,array_name.T,delimiter =',')'。 –