我想用循环逐行编写一个csv文件userperday.csv
。我有一个带有日期的列表dates
,我想检查它们是否在第二个列表dates2
中。我尝试了下面的代码
with open('userperday.csv', "w") as f:
writer = csv.writer(f)
for j in dates:
n=0
if j in dates2:
n+=1
rows=zip(j, n)
for row in rows:
writer.writerow(row)
我的预期输出是一个包含两列的csv文件,第一列中有列表dates
中的日期,第二列中的日期应为1或0,因此如果特定日期为dates2
与否。另外,我希望有一个标题。
答案 0 :(得分:0)
我看到的问题是您继续增加n,但是在找到匹配项后不要将其设置回零。对于此类问题,我将使用字典来跟踪计数。
with open('userperday.csv',"w") as f:
writer = csv.writer(f)
rows = {}
for j in dates:
rows[j] = 0
if j in dates2:
rows[j] += 1
#Fill in the header
writer.writerow(["Date","Counts"])
# Iterate through dict to get date and counts
for key,val in rows.items():
writer.writerow([key,val])