2015-10-06 75 views
-3

對於可變電話號碼,它要求輸入整個電話號碼;像這樣:029 123456.然而,我只需要第一個區號。但也可以有這樣的區號:01845 123456與區號的字符數量不同。我如何得到它,所以它只是將區號存儲在變量中?在變量中搜索不同的字符串長度

這裏的full CSV file的小樣本:

PhoneCode,Area,Example,Latitude,Longitude 
113,Leeds,(0113) xxx xxxx,53.801279,-1.548567 
114,Sheffield,(0114) xxx xxxx,53.381129,-1.470085 
115,Nottingham,(0115) xxx xxxx,52.95477,-1.158086 
116,Leicester,(0116) xxx xxxx,52.636878,-1.139759 
117,Bristol,(0117) xxx xxxx,51.454513,-2.58791 
118,Reading,(0118) xxx xxxx,51.452884,-0.973906 
1200,Clitheroe,(01200) xxxxxx,53.871098,-2.393083 
1202,Bournemouth,(01202) xxxxxx,50.719164,-1.880769 
1204,Bolton,(01204) xxxxxx,53.584441,-2.428619 

,這裏是我的代碼至今:

phoneNumber = input("Enter your phone number (UK landline only):") 

file = open("phonecodes.csv","r") 

#Complete the code here 
for line in file: 
    data = line.split(",") 
    areaCode = data[0] 
    if phoneNumber == "0" + areaCode: 
    print data[1] 

file.close() 
+0

他們都在單獨的列中,所以只需提取所需的列,使用csv模塊 –

+0

兩個註釋:1)不要使用'file'作爲變量名稱;使用內建的變量名是一個壞主意。 2)'f = open(path)... f.close()'設計是一個反模式;更好地使用'與開放(路徑)爲f:...',這確保文件將始終關閉。 – alexwlchan

+0

@Padraic坎寧安謝謝,但這不是我問的。我問的是如何從phoneNumber中存儲區號,而不是整個號碼。所以,而不是存儲029 123456,它只是存儲029. – ConorYoungs

回答

0

要麼得到用戶的數量分別輸入區號,然後或得到他們輸入區號後跟一個空格,然後是數字和分割:

分開:

area = raw_input("Enter your area code: ") 
num = raw_input("Enter you phone number: ") 


import csv 

r = csv.reader(open("phonecodes.csv")) 
for ph_cde, ar_cde, ex, lat, lon in r: 
    if "0" + ph_cde == area: 
     ........ 

分裂:

area, num = raw_input("Enter your phone number (UK landline only) in format 

AREA NUM:").split() 


import csv 

r = csv.reader(open("phonecodes.csv")) 
for ph_cde, ar_cde, ex, lat, lon in r: 
    if "0" + ph_cde == area: 
     ......... 

你的數據是逗號分隔的如此csv模塊將拆分爲你列。我也使用raw_input作爲你的打印語句,表明你使用的是python2而不是python3。

+0

感謝它的工作! – ConorYoungs

+0

沒有問題,不客氣。 –

相關問題