Python 转 CSV : transposing and appending values to list of lists

标签 python list csv

这可能是基本的,但我时差 react 的大脑拒绝找到解决方案。

我有以下列表(或列表列表):

#"variables" names
name=['a', 'b', 'c']
#variables values
value=[[0,1,1],[0,0,0],[1,1,1]]
#id number of each observation
id=[100,134,26]

我想将输出写入 CSV 文件,使其看起来像这样:

a, b, c, id
0, 1, 1, 100
0, 0, 0, 134
1, 1, 1, 26

我可以将任何单个列表(或列表列表)写入 CSV 文件,没有问题。但是如何转置 id 列表并将其附加到变量值中?将名字堆叠在顶部将是一个巨大的奖励。我总是可以创建两个 CSV 文件,但我不愿意这样做,因为数据操作中出错的可能性呈指数级增加。 这是我编写的 CSV 代码(非常标准):

with open('test.csv', 'w', newline='') as f:
     wtr = csv.writer(f, delimiter= ',')
     wtr.writerows(full_data)
#full_data would be the cleaned data to write into CSV file

谢谢!

最佳答案

一种无需 pandas 即可完成此操作的方法。

import csv

fulldata = [name + ['id']] + [val + [id[i]]  for i, val in enumerate(value)]  

with open('mycsv.csv','w') as f:
    mywriter = csv.writer(f)
    mywriter.writerows(fulldata)

会给你:

a,b,c,id                                                                                                        
0,1,1,100                                                                                                       
0,0,0,134                                                                                                       
1,1,1,26 

关于Python 转 CSV : transposing and appending values to list of lists,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40242186/

相关文章:

python - 在 Python 中返回多个列表

java - 验证 Java 中的 url 列表到 POJO?

java - 使用 opencsv (java) 读取 .csv 文件时跳过空行

python - 我的 'for' 循环中的 python 语法无效

python - 如何使用tox仅测试一个功能?

python - 如何更改 xgboost.plot_importance 中绘图的大小?

python - 切片列表而不复制

python - Scrapy - 连接以非干净的方式丢失。跨单个域不一致

python - 根据特定值删除List中的索引

arrays - 从CSV列表创建数组