【问题标题】:How to save list as csv by splitting to columns如何通过拆分到列将列表另存为 csv
【发布时间】:2023-03-05 08:36:01
【问题描述】:

我有脑电图数据集列表。它们看起来像这样:

['-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']

但是,我将它们保存为列表中的样子。

【问题讨论】:

  • 您可以将列表设为嵌套列表,然后将每个子列表保存为一行。
  • 感谢您的回答,但我已经编写了没有任何子列表或嵌套列表的代码。没有别的办法破解吗?
  • 与@thebjorn 的回答有关,您可以保存列表的片段。 my_list[4:8] 将是您的第二排。

标签: python csv machine-learning dataset pycharm


【解决方案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 个向量,然后在结果上调用 zip。

然后写入 csv 是:

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

【讨论】:

  • 谢谢,它确实有效并解决了我的问题。我总是喜欢在我的文件中看到干净的数据。 :)
  • 很高兴为您提供帮助。投票(点击答案旁边的向上箭头),并接受(点击同一区域的复选标记),以便未来的搜索者更容易找到好的答案(并给我积分;-)
  • 完成了,即使是分享我问题的朋友也会投票赞成 :))
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多