python csv读取器忽略空行

python csv读取器忽略空行,python,csv,python-3.x,blank-line,Python,Csv,Python 3.x,Blank Line,我正在使用蟒蛇csv阅读器。如何以忽略空行的方式使用以下代码 import csv f1 = open ("ted.csv") oldFile1 = csv.reader(f1, delimiter=',', quotechar='"') oldList1 = list(oldFile1) f2 = open ("ted2.csv") newFile2 = csv.reader(f2, delimiter=',', quotechar='"') newList2 = list(newFile2)

我正在使用蟒蛇csv阅读器。如何以忽略空行的方式使用以下代码

import csv
f1 = open ("ted.csv")
oldFile1 = csv.reader(f1, delimiter=',', quotechar='"')
oldList1 = list(oldFile1)
f2 = open ("ted2.csv")
newFile2 = csv.reader(f2, delimiter=',', quotechar='"')
newList2 = list(newFile2)

f1.close()
f2.close()

with open("ted.csv") as f1, open("ted2.csv") as f2, open('foo.csv', 'w') as out:
     r1, r2 = csv.reader(f1), csv.reader(f2)
     st = set((row[0], row[3]) for row in r1)
     wr = csv.writer(out)
     for row in (row for row in r2 if (row[0],row[3]) not in st):
           wr.writerow(row)

如果您的csv文件以空行开头,我认为您应该能够在创建csv读取器之前使用
readline()
跳过该行:

with open("ted.csv") as f1, open("ted2.csv") as f2, open('foo.csv', 'w') as out:
    f1.readline()
    f2.readline()
    r1, r2 = csv.reader(f1), csv.reader(f2)

如果你的空格总是在第一行,那么马吕斯的答案是最简单的。如果开头有
n
空格,或者只想跳过一些可以使用的行数

跳过前N行

假设要跳过第一行
4
(空行或非空行):

整段空白行

如果文件中散布着空行,则可以使用过滤工具将其过滤掉

其中csv1.csv是:

time,name,location
12345,Jean,Montreal

12346,Peter,Chicago

1234589,Doug,Boston
和csv2.csv(注意:此处未显示,但csv2.csv在文件顶部有4个空行):

output out.csv在以下内容中没有空行:

time,name,location
12345,Jean,Montreal
12346,Peter,Chicago
1234589,Doug,Boston
123457,Scott,San Diego
123458,Jen,Miami
123459,Robert,Sacramento

您的csv文件实际上是什么样子的?您能在几个示例行中编辑,包括空白行吗?另外,您得到的具体错误是什么,Python是否引发异常,或者您只是没有得到想要的结果?csv中的第一行是一个空行。我得到的错误是IndexError:列表索引超出范围。如果我手动删除第一个空行并运行,我不会得到任何错误。
time,name,location
12345,Jean,Montreal

12346,Peter,Chicago

1234589,Doug,Boston
123457,Scott,San Diego

123458,Jen,Miami

123459,Robert,Sacramento
time,name,location
12345,Jean,Montreal
12346,Peter,Chicago
1234589,Doug,Boston
123457,Scott,San Diego
123458,Jen,Miami
123459,Robert,Sacramento