python - 如何将字典写入具有列表作为其值的 csv 并为其添加标题

标签 python list csv dictionary header

我有一个字典,它的值是一个列表,我想将它写入一个 csv 文件,其中键和列表中的所有项目(值)都在 cvs 文件中的单独单元格中,这就是我的方式字典看起来像:

my_dict = {'r1':[1,0,0,1,1,0,1,0], 'r2' : [0,1,1,0,1,1,0,0]}

所以我希望我在 excel 中第一行的第一个单元格包含 r1,并且列表中的所有项目分别在一个单独的单元格中。然后我需要添加一个像这样的标题(它可以是一个列表,如: l = ['R','t1','t2','t3','t4','t5','t6','t7','t8'] How the result in excel will look like

编辑:

这是我试过的代码:

with open (outputFileName, 'a') as outFile:
    writer = csv.writer(outFile)
    for r , t in enumerate(my_dict.items()):
        writer.writerow([r, *t])

但结果是一个单元格中的键,一个单元格中的值(整个列表)。尚未对 header 进行任何尝试

最佳答案

问题是:-

enumerate() 函数向可迭代对象添加一个计数器。因此,对于 cursor 中的每个元素,都会使用 (counter, element) 生成一个元组; for 循环将其分别绑定(bind)到 row_number 和 row 。这是一个内置的生成器函数,请参阅 http://docs.python.org/2/library/functions.html#enumerate .

这是修改后的代码。

import csv
my_dict = {'r1':[1,0,0,1,1,0,1,0], 'r2' : [0,1,1,0,1,1,0,0]}
outputFileName = 'test32.csv'
with open (outputFileName, 'a+') as outFile:
    writer = csv.writer(outFile)
    writer.writerow(['R','t1','t2','t3','t4','t5','t6','t7','t8'])
    for r , t in my_dict.items():
        writer.writerow([r, *t])

输出-

 R,t1,t2,t3,t4,t5,t6,t7,t8
 r1,1,0,0,1,1,0,1,0
 r2,0,1,1,0,1,1,0,0

希望对您有所帮助。

关于python - 如何将字典写入具有列表作为其值的 csv 并为其添加标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49398737/

相关文章:

python - 使用 statsmodels.formula.api 的多项式回归

python - 提取div的内容?

Android - 使用自定义 ArrayAdapter 获取 ListView 的每个 EditTexts 值

python - 类型错误 : argument of type 'file' is not iterable 2. 7 python

java - 将 GitHub 问题下载到 .csv 文件

python - 如何在树中顺序遍历时将值存储在列表中?

Python 正则表达式模式/函数不从我的数据字符串中检索数据

python - 在 Python Pandas 中以长格式追加列表元素

arrays - 我可以将数组访问器添加到通用 TypeScript 类吗?

r - 引用问题将数据读入 R