如何检查CSV Python中是否存在用户输入

如何检查CSV Python中是否存在用户输入,python,csv,try-except,Python,Csv,Try Except,我正在尝试创建一个程序,该程序将要求用户输入城市和性别,并测试他们的输入,以确保其有效,并与具有城市名称和不同性别人口的CSV中的值相对应 如何检查性别和城市名称的用户输入是否在csv文件中。我想以这样的方式创建它,如果用户没有输入有效的年份或性别。它会告诉用户选择不同的城市和/或年份 以下是CSV的外观: name,gen_male,gen_female Tokyo,5000,4500 San_Francsico,400,500 Manila,600,700 New_York,8000,900

我正在尝试创建一个程序,该程序将要求用户输入城市和性别,并测试他们的输入,以确保其有效,并与具有城市名称和不同性别人口的CSV中的值相对应

如何检查性别和城市名称的用户输入是否在csv文件中。我想以这样的方式创建它,如果用户没有输入有效的年份或性别。它会告诉用户选择不同的城市和/或年份

以下是CSV的外观:

name,gen_male,gen_female
Tokyo,5000,4500
San_Francsico,400,500
Manila,600,700
New_York,8000,9000
Paris,5600,5600
Chicago,500,6000
有人能帮我找出一种方法来检查用户输入,如果给定的值在csv文件中

这是我的剧本:

import csv

with open('C:/Users/PycharmProjects/CityGen.csv') as csvfile:
    reader = csv.DictReader(csvfile)
    city = raw_input('Which city?:')
    gender = raw_input('What gender?:')
    yearPop = 'gen_' + year

    try:
        for row in reader:
            if row['name'] == city:
                print row[yearPop]
    except ValueError:
        print 'incorrect value'

我首先读取csv文件并将其保存到一个字典中,其中城市名称作为键,值是一个元组(或者可能是一个命名元组?),元组[0]是gen_male,元组[1]是gen_male。然后让用户输入城市名称,在字典中查找,如果有,然后让用户输入性别并检查其是否对该城市有效

with open('C:/Users/PycharmProjects/CityGen.csv') as csvfile:
    reader = csv.DictReader(csvfile)
    dictionary = {}

    for row in reader:
        city = row[0]
        genders = tuple(row[1:])
        dict1 = {city: genders}
        dictionary.update(dict1)

    city = raw_input('Which city?:')
    if city in dictionary:
        gender = raw_input('What gender?:')
        if gender in dictionary[city]:
            # gender and city are valid
        else:
            # gender is not valid
    else:
        # city is not valid