[英]How to check if User Input is present in CSV Python
我正在嘗試創建一個程序,該程序將要求用戶輸入城市和性別,並測試他們的輸入,以確保該輸入有效並與具有城市名稱和不同性別人口的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文件,並將其保存到以城市名稱為鍵的字典中,並且該值是一個元組(或者可能是一個命名的元組?)tuple [0]是gen_male,而tuple [1]是gen_female。 然后要求用戶輸入城市名稱,在字典中查找城市名稱(如果有),然后要求用戶輸入性別,並檢查其是否對該城市有效。
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
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.