我已將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