python - 如何将列表字典写入字符串而不是 CSV 文件?

标签 python csv dictionary

stackoverflow question将列表字典写入 CSV 文件的答案。我的用例是将类似的列表字典写入 CSV 字符串而不是文件。如果我执行以下操作

csvfile += ",".join(csvdata.keys())
for values in csvdata.values():
    csvfile += ",".join(value for value in values) + "\n"

它为我提供了在不同行中展开的所有列表。相反,我正在寻找将字典键作为列标题并将相同键的值(在列表中)作为其列值的输出。

Input
{'ID' :['101','102'], 'Name': ['X','Y'],'Gender': ['M','F']}

Expected Output (In comma separated string)
ID,   Name, Gender
101,  X,    'M'
102,  Y,    'F'

Output with my code
ID, Name, Gender
101, 102,
X,   Y,
'M', 'F',

编辑 #1:在此处解释重复请求。问题“ How do I write data into csv format as string (not file)? ”是针对不同的用例,我的问题是针对特定的。

最佳答案

csvdata.values() 中的每个 values 都是其相应键/列的值列表,因此您可以有效地将表的列打印为行。

相反,通过zip值列表构建行:

csvfile += ",".join(csvdata.keys()) + "\n"
for row in zip(*csvdata.values()):
    csvfile += ",".join(row) + "\n"

输出:

ID,Name,Gender
101,X,M
102,Y,F

关于python - 如何将列表字典写入字符串而不是 CSV 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55900256/

相关文章:

java - 如何使用 Apache Commons 将新列添加到 csv 文件?

python - 使用映射到数字的字母字符创建字典

python - 模板中的全局时间日期格式

python - 线性搜索 - Python

python - 如何将 csv 转换并格式化为列表列表,其中标题名称包含在值中

python - 根据原始字典中的 N 个键创建 N 个新字典

python - 按值对字典进行排序并仅打印键

python - 如何停止使用 websockets.serve() 创建的 websocket 服务器?

python - 在 urls.py 中使用正则表达式的内联过滤器

mysql - 将包含 LONGTEXT 字段的 MySQL 表索引到 Elastic Search 中