如何检查CSV Python中是否存在用户输入
我正在尝试创建一个程序,该程序将要求用户输入城市和性别,并测试他们的输入,以确保其有效,并与具有城市名称和不同性别人口的CSV中的值相对应 如何检查性别和城市名称的用户输入是否在csv文件中。我想以这样的方式创建它,如果用户没有输入有效的年份或性别。它会告诉用户选择不同的城市和/或年份 以下是CSV的外观:如何检查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
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