蟒蛇;如果特定列已填满,则从csv中提取行

时间:2017-10-30 21:45:00

标签: python csv

我有一个包含5个colums的csv文件。第五列是可能评论的列。现在我想只提取第五列填充的行。所以从下面的例子中只有第四行(如果包含第五行,则为第五行)。然后我想用相同的格式在csv中写这一行。希望任何人都可以提供帮助。

location;datetime;WNS2186;WNS2186 quality;WNS2186 comments  
241-036-00021_polder;10-02-2017 15:40;-2.272;original reliable;  
241-036-00021_polder;10-02-2017 15:50;-2.272;original reliable;  
241-036-00021_polder;10-02-2017 16:00;-2.272;original reliable;  
241-036-00021_polder;10-02-2017 16:10;-2.272;original reliable;test comment  
241-036-00021_polder;10-02-2017 16:20;-2.272;original reliable;   
241-036-00021_polder;10-02-2017 16:30;-2.272;original reliable;

1 个答案:

答案 0 :(得分:0)

我会将其作为生成器函数实现,以产生符合条件的行。

import csv

def valid_rows(path):
    with open(path, 'r') as f:
        reader = csv.DictReader(f)
        yield from (row for row in reader if row['comments'])