Python 中的 CSV,不保存重复数据



我用python在csv中保存数据时遇到问题。这里的代码:

self.INPUT = [1,2,3,4,5]
self.InLab = {'car':'€','dog':'€','cat':'€','cat':'€','total':'€'}
with open('Input-Output/INPUT.csv', 'w', newline='') as file:
writer = csv.writer(file)
inp = []
for i,j,k in zip(self.INPUT,self.InLab.keys(),self.InLab.values()):
inp.append(writer.writerow([j, i, k]))

我的问题是,当我将给定的列表和给定的字典保存在csv中时,它只保存下一个:

car,1,€
dog,2,€
cat,3,€
total,4,€

我期待以下内容:

car,1,€
dog,2,€
cat,3,€
cat,4,€
total,5,€

为什么第二个";猫;没有考虑在内,我该如何解决?非常感谢。

字典中不能重复关键字。

你可以获得类似于你试图用元组列表所做的事情。例如:

self.INPUT = [1, 2, 3, 4, 5]
self.InLab = [('car','€'),('dog','€'),('cat','€'),('cat','€'),('total','€')]
with open('Input-Output/INPUT.csv', 'w', newline='') as file:
writer = csv.writer(file)
inp = []
for i, (j, k) in zip(self.INPUT, self.InLab):
inp.append(writer.writerow([j, i, k]))

写一个更好的问题

您的示例代码应该是开箱即用的,任何人都可以复制。它也不需要这么复杂。

字典

您将InLab定义为{'car':'€','dog':'€','cat':'€','cat':'€','total':'€'},但如果将其打印到控制台中,您可以看到实际分配的值是:{'car': '€', 'dog': '€', 'cat': '€', 'total': '€'}。这是因为字典不能包含重复的关键字。

相关内容

  • 没有找到相关文章

最新更新