在python中将特定行从一个csv文件写入另一个csv文件

在python中将特定行从一个csv文件写入另一个csv文件,python,Python,假设我有一个input.csv文件,它有10行。现在我只需要将奇数行写入另一个csv文件output.csv。如何在python中使用csv来实现这一点? 我尝试使用writer.writerow,但它只写入最后一行,也就是说,它只在output.csv的一行中覆盖input.csv中的行。 如何解决这个问题 def filter_rows(s): r=0 data=[] with open('csv/github_issues_preproc1.csv', 'rb') as

假设我有一个input.csv文件,它有10行。现在我只需要将奇数行写入另一个csv文件output.csv。如何在python中使用csv来实现这一点? 我尝试使用writer.writerow,但它只写入最后一行,也就是说,它只在output.csv的一行中覆盖input.csv中的行。 如何解决这个问题

def filter_rows(s):
 r=0
 data=[]
 with open('csv/github_issues_preproc1.csv',  'rb') as                                         f,open('csv/preproc1f.csv',  'wb') as f_out:
  reader = csv.reader(f)
  writer = csv.writer(f_out)
  for row in reader:
   r=r+1
   if r==s:
    data.append(row)    

  writer.writerows(data)

如果s是行索引列表,那么您的检查应该是
,如果s中的r:
。如果你只需要检查均匀度,如果r%2==0,你不需要s
(偶数)
如果r%2==1(奇数)。你是如何打开的?您必须使用
f\u out=open(文件名'a')
而不是
f\u out=open(文件名'w')
a
附加到文件,而
w
覆盖该文件。此外,您的代码示例意图错误且不完整。是的。打开文件时使用“a”有效。非常感谢。