【发布时间】:2020-04-16 18:42:59
【问题描述】:
我最近一直在尝试写入 csv 文件,但偶然发现了一个问题。我有一个遍历项目列表的 for 循环,并希望在 .csv 文件中重写此列表,列表中的每个元素都位于新行中。因此,我将代码构造如下。
import csv
groceries = ["banana", "apple", "orange", "orange", "milk", "orange",
"banana"]
file_name = "an_example_file_here"
banana_count = 0
apple_count = 0
orange_count = 0
milk_count = 0
for i in groceries :
w = csv.writer(open(file_name + ".csv", "w")) #writing to .csv
if i == "banana":
banana_count += 1
w.writerow(["banana"])
elif i == "apple":
apple_count += 1
w.writerow(["apple"])
elif i == "orange":
orange_count += 1
w.writerow(["orange"])
elif i == "milk":
milk_count +=1
w.writerow(["milk"])
w.writerow(["banana_count = ", str(banana_count)],)
w.writerow(["apple_count = ", str(apple_count)],)
w.writerow(["orange_count = ", str(orange_count)],)
w.writerow(["milk_count = ", str(milk_count)],)
我希望得到一个类似于以下内容的 csv 文件: 香蕉,苹果,橙子,橙子,牛奶,橙子,香蕉,banana_count = 2,apple_count = 1,orange_count = 3,milk_count = 1
但是,我得到的实际文件看起来像: 香蕉,banana_count = 2,apple_count = 1,orange_count = 3,milk_count = 1
我不知道为什么,任何帮助表示赞赏。谢谢!
【问题讨论】: