2017-02-25 139 views
-1

我想這是非常微不足道的。 我有x和創建y值的列表如下:在csv文件中正確保存表單(x,y)的數據

import numpy as np 
x = np.linspace(0, 1, 1001) 
y = 3*np.sin(x)**3 - np.sin(x) 

我如何保存(X,Y)值.csv文件,也就是在形式

x1, y1 
x2, y2 

等我認爲它與delimiter關鍵字有關。 在此先感謝。

回答

1

是這樣的:

import numpy as np 
x = np.linspace(0, 1, 1001) 
y = 3*np.sin(x)**3 - np.sin(x) 

np.savetxt('filename', np.vstack((x,y)).T, delimiter=', ') 

這使用numpy.savetxtnumpy.vstack用於準備數據。

dtype=np.float64的陣列上的默認行爲是使用科學記數法。你可以使用fmt-參數numpy.savetxt來控制這個。

默認輸出看起來像:

0.000000000000000000e+00, 0.000000000000000000e+00 
1.000000000000000021e-03, -9.999968333348416283e-04 
... 
+0

謝謝,它的工作(用'.T'編輯後)。 – dimitris

+0

是的,謝謝。隨時都會發生。 :-) Transpose用於從(2,X) - >(X,2)更改形狀。 – sascha

2

您可以使用Python的csv包寫,並將其保存爲.csv文件。使用zip創建x和y兩個值的單個列表。

import csv 

new_list = zip(x, y) 
with open('file1.csv', 'wb+') as csvfile: 
    filewriter = csv.writer(csvfile) 
    filewriter.writerows(new_list)