我正在创建一个通讯录程序,我遇到了一个问题,即使用户按姓氏搜索。他们可以输入一个名字,但仍然打印联系信息。如何将csv搜索限制为仅一列
我的代码:
if choice == 'surname':
print()
surname = input('Input surname: ')
print()
with open('AddressBook.csv', newline='') as myfile:
reader = csv.reader(myfile)
for row in reader:
if surname in row:
print(row)
else:
()
有问题的通讯录(没有真实的联系信息): http://i.stack.imgur.com/JLcmi.png
在
csv.reader(myfile)
上迭代时,您将得到行中所有值的列表。所以,您需要做的就是将if surname in row:
更改为if surname == row[0]:
但是,为了更具防御性并考虑空行,您可能需要考虑使用
if row and surname == row[0]:
相关问题 更多 >
编程相关推荐