如果我理解你的问题正确,你正在尝试做类似于这样的事情(不需要使用
csv
模块):
a = {'RCLS1':[(0, 20), (10, 112), (20, 130), (30, 102)], 'RCLS2': [(0, 16),(10, 53),(20, 96), (30, 45)]}
with open('E:\data.csv', 'a+') as f:
for k,v in a.items():
f.write("{0}: {1}\n".format(k,", ".join(", ".join(str(j) for j in k) for k in v)))
输出(您文件中的日期将类似于此输出):
RCLS1: 0, 20, 10, 112, 20, 130, 30, 102
RCLS2: 0, 16, 10, 53, 20, 96, 30, 45
否则,如果你想按对获取数据,可以像这样做:
with open('E:\data.csv', 'a+') as f:
for k,v in a.items():
f.write("{0}: {1}\n".format(k, "".join(", ".join(str(k) for k in v))))
输出:
RCLS1: (0, 20), (10, 112), (20, 130), (30, 102)
RCLS2: (0, 16), (10, 53), (20, 96), (30, 45)
编辑:
针对您的新更新,有一个快速解决方案。您可以像这样做:
a = {'RCLS1':[(0, 20), (10, 112), (20, 130), (30, 102)], 'RCLS2': [(0, 16),(10, 53),(20, 96), (30, 45)]}
with open('E:\data.csv', 'a+') as f:
for k,v in a.items():
for j in v:
f.write("{0}: {1}\n".format(k, ", ".join(str(k) for k in j)))
输出:
RCLS2: 0, 16
RCLS2: 10, 53
RCLS2: 20, 96
RCLS2: 30, 45
RCLS1: 0, 20
RCLS1: 10, 112
RCLS1: 20, 130
RCLS1: 30, 102
v
是一个元组列表,所以(k,) + v
试图将一个元组
添加到一个元组列表中,而这是行不通的。 - AChampion