如何在python中逐行写入csv文件?
我想用循环逐行编写一个csv文件userperday.csv。我有一个带有日期的列表日期,我想检查它们是否在第二个列表日期2中。我尝试了下面的代码如何在python中逐行写入csv文件?,python,csv,Python,Csv,我想用循环逐行编写一个csv文件userperday.csv。我有一个带有日期的列表日期,我想检查它们是否在第二个列表日期2中。我尝试了下面的代码 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 ro
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文件,在第一列中有一个列表日期的日期,在第二列中应该是1或0,因此如果特定日期在Dates2中或不在其中。此外,我希望有一个标题。我看到的问题是,您继续增加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])
你有没有试着做一个列表来代替zipj,n?e、 g.[j,n]?我的j是一个datetime.date对象,因此我变成了错误:应该是iterable,而不是datetime.date,因为当你这样做时,这些不是iterable。这有点像在j中为x做的事情:;对于n:中的y,它们都没有意义,也不是有效的语句,因为没有什么可以迭代的