2017-03-21 118 views
1

我有EEG數據集列表。他們是這樣的:如何將列表另存爲csv通過拆分爲列

['-0.9148', '-1.7609', '0.8441', '-3.0872', '-3.3303', '-2.5054', '1.5679', '-4.6378', '-3.5720', '-3.3940'] 

我想將它們保存到CSV爲

['-0.9148', '-1.7609', '0.8441', '-3.0872'] 
['-3.3303', '-2.5054', '1.5679', '-4.6378'] 
['-0.9148', '-2.5054', '-3.5720','-3.3940'] 

然而,我救他們如何它看起來像在列表中。

+0

你可以讓你的列表中嵌套列表,然後保存每個子列表作爲行。 – Jakub

+0

謝謝你的回答,但我已經編碼沒有任何子列表或嵌套列表。難道沒有其他方法可以破解它嗎? –

+0

與@ thebjorn的回答相關,你可以保存列表的切片。 'my_list [4:8]'將是你的第二排。 – Jakub

回答

1

你可以這樣做:

>>> x = ['-0.9148', '-1.7609', '0.8441', '-3.0872', '-3.3303', '-2.5054', '1.5679', '-4.6378', '-3.5720', '-3.3940'] 
>>> zip(*[x[i::3] for i in range(4)]) 
[('-0.9148', '-1.7609', '0.8441', '-3.0872'), ('-3.0872', '-3.3303', '-2.5054', '1.5679'), ('1.5679', '-4.6378', '-3.5720', '-3.3940')] 

它主要負責第i個元素元素一樣多的元素,你需要,給你n個第一,第二,第n ..元素,然後對結果調用拉鍊矢量。

寫入CSV則是:

with open('filename.csv', 'wb') as csvfile: 
    w = csv.writer(csvfile) 
    w.writerows(zip(*[x[i::3] for i in range(4)])) 
+0

謝謝,它確實有效並解決了我的問題。我總是喜歡在我的文件中看到乾淨的數據。 :) –

+0

很高興提供幫助。 Upvote(點擊答案旁邊的向上箭頭),並接受(點擊同一區域中的複選標記),以便將來的搜索者更容易找到好答案(並給我點數;-) – thebjorn

+0

完成,即使我的朋友誰分享我的問題將upvote :)) –