Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在python中逐行写入csv文件?_Python_Csv - Fatal编程技术网

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

如何在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

我想用循环逐行编写一个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 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,它们都没有意义,也不是有效的语句,因为没有什么可以迭代的