如何在python中逐行编写csv文件?

2024-04-26 07:56:16 发布

您现在位置:Python中文网/ 问答频道 /正文

我想用循环逐行编写csv文件userperday.csv。我有一个带有日期的列表,我想检查它们是否在第二个列表中。我试过下面的代码

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或不在。此外,我希望有一个标题。你知道吗


Tags: 文件csv代码in列表foraswith
1条回答
网友
1楼 · 发布于 2024-04-26 07:56:16

我看到的问题是继续递增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])

相关问题 更多 >