如果对象不在列表中,则搜索列表中的下一个项目

时间:2017-03-15 09:23:39

标签: python list csv search

我试图学习如何搜索csv文件。在这个例子中,我已经研究了如何搜索特定列(出生日期)以及如何搜索该列中的索引以获得出生年份。

我可以搜索超过特定年份 - 例如输入45将给我出生在1945年或之后的所有人,但我坚持的一点是,如果我输入一年没有特别在csv / list中我会得到一个错误,说年份不是在列表中(它不是)。

我想要做的是遍历列中的年份,直到找到列表中的下一年并打印任何大于此的内容。

我已经尝试了几次迭代,但我的大脑终于停止了。到目前为止,这是我的代码......

data=[]
with open("users.csv") as csvfile:
    reader = csv.reader(csvfile)
    for row in reader:
        data.append(row)
print(data)

lookup = input("Please enter a year of birth to start at (eg 67): ")

#lookupint = int(lookup)


#searching column 3 eg [3]
#but also searching index 6-8 in column 3
#eg [6:8] being the year of birth within the DOB field
col3 = [x[3][6:8] for x in data]

#just to check if col3 is showing the right data
print(col3)
print ("test3")



#looks in column 3 for 'lookup' which is a string
#in the table
if lookup in col3: #can get rid of this
    output = col3.index(lookup)
    print (col3.index(lookup))
    print("test2")

    for k in range (0, len(col3)):
        #looks for data that is equal or greater than YOB
        if col3[k] >= lookup:
           print(data[k])

提前致谢!

0 个答案:

没有答案