Python 有条件地提取CSV文件的行?

Python 有条件地提取CSV文件的行?,python,csv,Python,Csv,我有一个CSV文件,如下所示: 德国,1928年,食品 冰岛,1943年,石油 法国,1923年,塑料 1901年的俄罗斯 南非,1932年,银牌 俄罗斯,1905年,金牌 巴西,1901年,白金 我想让它搜索第一列,如果找到“俄罗斯”这个词,就划一行 这就是我的代码当前的样子: import csv import sys with open('country.csv', 'rb') as csvfile: data = csv.reader(csvfile) datalis

我有一个CSV文件,如下所示:

德国,1928年,食品
冰岛,1943年,石油
法国,1923年,塑料
1901年的俄罗斯
南非,1932年,银牌
俄罗斯,1905年,金牌
巴西,1901年,白金
我想让它搜索第一列,如果找到“俄罗斯”这个词,就划一行

这就是我的代码当前的样子:

import csv
import sys

with open('country.csv', 'rb') as csvfile:
    data = csv.reader(csvfile)
    datalist = []
    for row in data:
        if len (row) != 0:
            datalist = datalist + [row]
csvfile.close()

column_names = datalist[0]  # LIST OF COLUMNS
我该如何拉整排人?

试试:


你的问题有点不清楚。你说的“整排人”是什么意思?您正在将整行添加到列表中。请解释一下你真正想做什么。此外,正如您的描述中所述,您的代码从不将任何字段与
俄罗斯
进行比较。非主题:如果您使用
和open…
来打开文件,则会在阻止后自动关闭该文件。
>>> filter(lambda x: x[0] == 'Russia', datalist)
[['Russia', '1901', 'Steal'], ['Russia', '1905', 'Gold']]