【问题标题】:writing python list to csv将python列表写入csv
【发布时间】:2021-11-09 16:20:34
【问题描述】:

我编写了一个代码来打印出一个值列表。我想将获得的数据写入 csv 文件。我的计算给了我 5 列,每列包含 5 个数据。当我在 csv 文件中打印数据时,我没有在每行中为特定列获取五个数据,而是在一个单元格中填充了所有值。输出如下所示:

我把代码写成:

import csv
with open("/home/Documents/test.csv", "a") as fp:
wr = csv.writer(fp, dialect='excel')
wr.writerow(list)

我在输出中得到的结果是:

预期结果是“A”列的值应写入每个单元格,即 0.002 应写入单元格 A1,0.001905 应写入单元格 A2,依此类推。同样,对于 B 列,值 0.001814 应该进入单元格 B2,依此类推。作为python的新手,不知道有没有更好的方法来做或者优化。任何帮助将不胜感激。

【问题讨论】:

  • “五列”:什么类型的?从您的打印输出来看,它看起来像一个 numpy 数组列表。为什么不简单地拥有一个 pandas DataFrame 然后df.to_csv(filename)?请提供minimal reproducible example

标签: python list csv


【解决方案1】:

如果您使用 Pandas,请尝试pd.concat

pd.concat(your_list, axis=1).to_csv('file.csv')

【讨论】:

    【解决方案2】:

    这看起来像你有一个 numpy 数组或 pandas 系列的列表?仅根据您的打印结果,“dtype”的外观并不表示纯python列表。

    它确实看起来像是某种可迭代的列表,因此您可以尝试:

    import csv
    with open("/home/Documents/test.csv", "a") as fp:
        wr = csv.writer(fp, dialect='excel')
    
        for row in list
            wr.writerow(row)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-09-21
      • 2016-06-30
      • 1970-01-01
      • 2013-07-16
      • 2012-01-02
      • 1970-01-01
      相关资源
      最近更新 更多