2016-08-12 3 views
-2

У меня есть файл CSV, который выглядит следующим образом:Условно извлекать строки CSV-файлов?

Germany,1928,Food 
Iceland,1943,Oil 
France,1923,Plastics 
Russia,1901,Steal 
South Africa,1932,Silver 
Russia,1905,Gold 
Brazil,1901,Platinum 

Я хочу, чтобы выполнить поиск по первому столбцу и вытащить строку, если она попадает на слово «Россия».

Это то, что мой код выглядит в настоящее время:

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 

Как бы я идти о потянув всю строку?

+0

Ваш вопрос несколько неясно. Что вы подразумеваете под «тянуть всю строку»? Вы добавляете всю строку в свой список. Пожалуйста, объясните, что вы действительно хотите сделать. Кроме того, ваш код никогда не сравнивает какое-либо поле с «Россией», как указано в вашем описании. –

+0

Off topic: ЕСЛИ вы используете 'with open ...', чтобы открыть файл, закрытие будет выполнено автоматически после блока. – martineau

ответ

1

filter Попробуйте:

>>> filter(lambda x: x[0] == 'Russia', datalist) 
[['Russia', '1901', 'Steal'], ['Russia', '1905', 'Gold']] 
+0

Это тот! Приветствую человека! – semiflex

Смежные вопросы