Итак, я пытаюсь найти решение для моей программы (адресной книги), когда цикл For возвращает несколько вхождений, например, фамилию.(Фамилия == 'коричневый').
Я создал этот цикл for, который будет возвращать все записи, найденные с (фамилия 'коричневый').Затем я хотел бы позволить пользователю решить, на какую запись он / она хочет изменить адрес.
Как вы можете видеть, есть несколько случаев появления коричневого.
Цикл результата:
OrderedDict([('lastname', 'brown'), ('name', 'emma'), ('street', 'hillstreets'), ('number', '6558'), ('city', 'houston')])
OrderedDict([('lastname', 'brown'), ('name', 'eric'), ('street', 'bluestreet'), ('number', '23'), ('city', 'capetown')])
Я могу напечатать оба имени, но затем я хочу позволить пользователю решить, на какой «коричневый» он / она хочет изменить адрес?Так, например, напечатать сообщение, например: «найдено несколько записей для фамилии« коричневый ».На какой «коричневый» вы хотите сменить адрес?
import sys
import csv
from collections import OrderedDict
filename = "adresses.csv"
adressbook = []
with open(filename) as f:
csv_reader = csv.DictReader(f, delimiter=",")
for row in csv_reader:
adressbook.append(row)
row_count = sum(1 for row in adressbook)
n = row_count
for row in adressbook[0:n]:
value = 'brown'
if row['lastname'] == value:
print(row)