我有以下内容dict
:
data = {
'A': [{1.0: 133.0}, {4.0: 126.0}],
'B': [{1.0: 153.0}, {4.0: 16.0}],
'C': [{1.0: 9.0}, {4.0: 12.0}]
}
我需要的输出如下:
A, 1.0, 133.0
A, 4.0, 126.0
B, 1.0, 153.0
B, 4.0, 16.0
C, 1.0, 9.0
C, 4.0, 12.0
这是我的尝试(工作):
with open("super.csv", "w") as f:
for k, v in data.items():
for a in v:
f.write(k + ", " + "".join('{}, {}'.format(k1,v1) for k1,v1 in a.items()) + "\n")
我无法使其变得更好(更简洁),请帮忙。我可以避免使用join
吗?
这是在不使用的情况下执行相同操作的另一种方法
join
(假设,您的数据结构不会像OP在帖子评论中提到的那样改变)
输出:
您也可以使用
k1,v1 = list(a.items())[0]
代替((k1,v1),) = a.items()
,也可以使用
print(f"{k}, {k1}, {v1}",file=f)
这样"\n"
已经实现