簡體   English   中英

如何檢查CSV Python中是否存在用戶輸入

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM