【发布时间】:2018-10-15 08:34:10
【问题描述】:
我有一个数据库文件,csv 文件。我想在这个列表中搜索一个名字。要知道它是否存在。如果不显示要添加的选项。名称旁边的数字是客户编号。如何在此列表中搜索值?
lines=[]
user_name=input("PLEASE ENTER YOUR FIRST AND LAST NAME: ")
with open("data_base.csv", "r") as in_file:
for line in in_file:
row = line.split(",")
for i in range(1, len(row)):
row[i] =eval(row[i])
lines.append(row)
如果我打印列表,结果是下一个:
[['Mariana Ortigoza', 1], ['James Butt', 2], ['Josephine Darakjy', 3], ['Art Venere', 4], ['Lenna Paprocki', 5], ['Donette Foller', 6], ['Simona Morasca', 7], ['Mitsue Tollner', 8], ['Leota Dilliard', 9], ['Sage Wieser', 10]]
【问题讨论】:
-
我建议将数据保存到字典中,名称为键,数字为值。这样搜索效率更高。
-
顺便说一句,使用
eval来转换这样的数据是一个坏的想法,而且完全没有必要。如果evaluated可以格式化您的HD 等,恶意人员可以将命令放入CSV 中。 -
你能发布一个示例 csv 文件吗?
标签: python python-3.x list nested