У меня есть CSV-файл с несколькими заголовками, такими как Имя, ЦП, Память, ОС и т. Д. Я хочу сузить список CSV, выбрав конкретные параметры для заголовков. Например, if CPU == 2 and Memory == 4GB and OS == Windows
, распечатайте Name
.
Я использую Python 2.7.
CSV-файл:
Name,CPU,Memory,OS
server1,2,4gb,windows
server2,4,2gb,linux
server3,8,4gb,linux
server4,4,2gb,windows
server5,2,4gb,windows
Мой код:
import csv
with open('test.csv', 'rb') as csv_file:
csv_reader = csv.reader(csv_file)
for line in csv_reader:
print(line[1])
Единственное, что я могу сделать, это прочитать столбец ЦП. Я пытался использовать операторы if, но ничего не получалось. Например, if CPU == 2
, print
не работает.
Благодаря @gboffi я получил сужающийся фрагмент кода ниже:
import csv
with open('test.csv', 'rb') as csv_file:
dict_reader = csv.DictReader(csv_file)
for d in dict_reader:
if d['CPU'] == '2' and d['OS'] == 'windows' and d['Memory'] == '4gb':
print(d['Name'])
Теперь вопрос в том, как заставить пользователя вводить параметры вместо их жесткого кодирования? Кроме того, как я могу экспортировать результаты в новый CSV со всеми параметрами с заголовками?