2017-03-21 74 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 :)) –