Я прочитал CSV-файл в словаре, где code3
- это ключ. Затем я использую def findAirportCODE(self, code3):
, чтобы получить ключ и распечатать данные, связанные с ключом. code3
вводится через вход в a.findAirportCODE(input('enter a code').upper())
.использовать ключ для извлечения данных из словаря
import csv
class Airport:
def __init__(self, airportname='', cityname='', countryname='', code3='', lat=0, long=0):
self.airportname=airportname
self.cityname=cityname
self.countryname=countryname
self.code3=code3
self.lat=lat
self.long=long
class TravelLookUp:
def dictAirport(self,filename):
self.__airportDict={}
f=open(filename, encoding="utf8")
csvreader = csv.reader(f)
for row in csvreader:
airport=Airport(row[1], row[2], row[3], row[4], row[6], row[7])
self.__airportDict[row[4]]=airport
#for keys, values in self.__airportDict.items():
#print ('[', keys, ':', values.airportname,']')
def findAirportCODE(self, code3):
print(self.__airportDict[code3])
air=Airport()
a=TravelLookUp()
a.dictAirport('airport.csv')
a.findAirportCODE(input('enter a code').upper())
При запуске этой программы показывает:
enter a code: jfk
<__main__.Airport object at 0x02B826F0>
enter a code: dub
<__main__.Airport object at 0x02ABB5F0>
Программа чтения из файла CSV, как, когда я вхожу в другое code3
он показывает другой код, как описано выше.
CSV-файл, он читает из отформатирован, как это:
3796,Kapalua,Lahania-kapalua,United States,JHM,PHJH,20.962936,-156.673031,256,-10,N,Pacific/Honolulu
3797,John F Kennedy Intl,New York,United States,JFK,KJFK,40.639751,-73.778925,13,-5,A,America/New_York
3798,Homestead Arb,Homestead,United States,HST,KHST,25.48855,-80.383567,6,-5,A,America/New_York
3799,Riverside Muni,Riverside,United States,RAL,KRAL,33.951875,-117.445103,818,-8,A,America/Los_Angeles
Почему я получаю это сообщение, и как я могу получить его, чтобы распечатать правильную информацию аки данные, связанные с ключом словаря ?
Вы используете Python 2 или Python 3? Если вы используете Python 2, то вы должны использовать объекты «нового стиля» и объявлять свои классы следующим образом: 'class Airport (object):' и 'class TravelLookUp (object):'. Обратите внимание на дополнительный '(object)', который объявляет 'object' в качестве родительского класса. – b4hand