2017-04-02 5 views
0

Ich versuche ein Programm zu erstellen, das nach Benutzereingaben für eine Stadt und Geschlecht fragt und ihre Eingaben prüft, um sicherzustellen, dass sie gültig sind und den Werten innerhalb der CSV entsprechen hat einen Städtenamen und eine unterschiedliche Geschlechterpopulation.Wie überprüft man, ob Benutzereingaben in CSV vorhanden sind Python

Wie überprüfe ich, ob die Benutzereingabe für Geschlecht und Stadtname in der CSV-Datei enthalten ist. Ich möchte es so erstellen, dass der Benutzer kein gültiges Jahr oder Geschlecht angibt. es wird dem Benutzer sagen, eine andere Stadt und/oder ein anderes Jahr zu wählen.

Hier ist, was die CSV wie folgt aussehen:

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 

Kann mir jemand helfen, einen Weg, um herauszufinden, um Benutzereingaben zu überprüfen, ob ein bestimmte Wert in der CSV-Datei ist.

Hier ist mein Skript: (? Oder vielleicht ein benannter Tupel)

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' 

Antwort

0

Ich würde die CSV-Datei und speichern Sie sie in ein Wörterbuch mit dem Stadtnamen als Schlüssel und der Wert ist ein Tupel zuerst gelesen Tupel [0] ist gen_male und Tupel [1] ist gen_female. Bitten Sie den Benutzer dann, den Namen der Stadt einzugeben, ihn im Wörterbuch nachzuschlagen und ihn zu bitten, das Geschlecht einzugeben und zu prüfen, ob es für diese Stadt gültig ist.

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 
Verwandte Themen