这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/