from picture import * def read_file (f): for line in f: yield line.split(":") def file_to_dictionary(file): lines = {} temp = '' temp_list = [] i = 0 for x in read_file(file): for y in x: y = y.strip() try: if float(y): if i <= 6: value = float(y) temp_list.append('%02g'%value) i += 1 except ValueError: if i < 1: temp = y i += 1 elif i == 7 and (y == "INT" or y == "US"): temp_list.append(y) lines [temp] = temp_list i = 0 elif i == 7: lines [temp] = temp_list i = 1 temp = y return lines file = open ('airport_data.txt') print file_to_dictionary (file) ############ MY GOAL ################## - Take in data from file (posted below) and make a dictionary which has first column as key and the numbers in a list as value However! Sometimes there's an extra value (US / INT) and I have to be able to include that in the list as well if it exists ########## THE FILE BELOW ############## YAM:SAULT STE MARIE:SAULT SAINTE MARIE:46:29:06:84:30:34 YAV:WINNIPEG ST ANDREWS:WINNIPEG:50:03:23:97:01:57:US YAW:SHEARWATER:HALIFAX:44:38:23:63:29:58 YAY:ST ANTHONY:ST. ANTHONY:51:23:30:56:05:04 YAZ:TOFINO:TOFINO:49:04:56:125:46:21 YBB:KUGAARUK:PELLY BAY:68:32:04:89:48:29 YBC:BAIE COMEAU:BAIE COMEAU:49:07:56:68:12:26 YBG:BAGOTVILLE:BAGOTVILLE:48:19:50:70:59:47 YBK:BAKER LAKE:BAKER LAKE:64:17:56:96:04:40 YBL:CAMPBELL RIVER:CAMPBELL RIVER:49:57:03:125:16:15 YBR:BRANDON MUNI:BRANDON:49:54:36:99:57:07 YCB:CAMBRIDGE BAY:CAMBRIDGE BAY:69:06:29:105:08:18 YCD:NANAIMO:NANAIMO:49:03:08:123:52:12 YCG:CASTLEGAR:CASTLEGAR:49:17:47:117:37:57 YCH:MIRAMICHI:CHATHAM:47:00:28:65:26:57 YCL:CHARLO:CHARLO:47:59:26:66:19:53 YCO:KUGLUKTUK:COPPERMINE:67:49:00:115:08:38 YCT:CORONATION:CORONATION:52:04:30:111:26:43 YCW:CHILLIWACK:CHILLIWACK:49:09:10:121:56:20 YCY:CLYDE RIVER:CLYDE RIVER:70:29:10:68:31:00 YZS:FAIRMONT HOT SPRINGS:CORAL HARBOUR:50:19:55:115:52:25 YDA:DAWSON:DAWSON:64:02:35:139:07:40 YDB:BURWASH:BURWASH:61:22:16:139:02:26 YDC:PRINCETON:PRINCETON:49:28:03:120:30:43 YDF:DEER LAKE:DEER LAKE:49:12:39:57:23:29 YDL:DEASE LAKE:DEASE LAKE:58:25:20:130:01:56 YDN:DAUPHIN BARKER:DAUPHIN:51:06:03:100:03:09 YDQ:DAWSON CREEK:DAWSON CREEK:55:44:30:120:10:55 YED:EDMONTON NAMAO:EDMONTON:53:40:00:113:28:00 YEG:EDMONTON INTERNATIONAL:EDMONTON:53:18:35:113:34:47:US YEK:ARVIAT:ESKIMO POINT:61:05:39:94:04:15 YEN:ESTEVAN:ESTEVAN:49:12:37:102:57:57 YET:EDSON:EDSON:53:34:44:116:27:54 YEU:EUREKA:EUREKA:79:59:41:85:48:48 YEV:INUVIK MIKE ZUBKO:INUVIK:68:18:15:133:28:58 YFB:IQALUIT:IQALUIT:63:45:23:68:33:21 YFC:FREDERICTON:FREDERICTON:45:52:10:66:31:54 N/A:FORESTVILLE:FORESTVILLE:48:44:46:69:05:50 YFO:FLIN FLON:FLIN FLON:54:40:41:101:40:54 YFR:FORT RESOLUTION:FORT RESOLUTION:61:10:51:113:41:23 YFS:FORT SIMPSON:FORT SIMPSON:61:45:37:121:14:12 YGK:KINGSTON:KINGSTON:44:13:31:76:35:49 YGL:LA GRANDE RIVIERE:LA GRANDE RIVIERE:53:37:31:77:42:15 YGP:GASPE:GASPE:48:46:31:64:28:43 YGQ:GERALDTON GREENSTONE REGIONAL:GERALDTON:49:46:42:86:56:22 YGR:ILES DE LA MADELEINE:ILES DE LA MADELEINE:47:25:29:61:46:41 YGW:KUUJJUARAPIK:KUUJJUARARAPIK:55:17:00:77:46:00 YGX:GILLAM:GILLAM:56:21:00:94:42:00 YHB:HUDSON BAY:HUDSON BAY:52:49:00:102:18:41 YHD:DRYDEN RGNL:DRYDEN:49:49:54:92:44:39 YHI:HOLMAN:HOLMAN ISLAND:70:45:47:117:48:21 YHK:GJOA HAVEN:GJOA HAVEN:68:38:08:95:50:59 YHM:HAMILTON:HAMILTON:43:10:23:79:56:06:US YHU:ST HUBERT:MONTREAL:45:31:03:73:25:01 YHY:HAY RIVER:HAY RIVER:60:50:23:115:46:58 YHZ:HALIFAX INTERNATIONAL:HALIFAX:44:52:51:63:30:31:INT YIB:ATIKOKAN MUNI:ATIKOKAN:48:46:26:91:38:19 YIO:POND INLET:POND INLET:72:41:00:77:58:00 YJN:ST JEAN:ST. JEAN:45:17:40:73:16:52 YJT:STEPHENVILLE:STEPHENVILLE:48:32:39:58:33:00 YKA:KAMLOOPS:KAMLOOPS:50:42:08:120:26:31 YKF:WATERLOO RGNL:WATERLOO:43:27:32:80:23:04 YKL:SCHEFFERVILLE:SCHEFFERVILLE:54:48:18:66:48:19 YKY:KINDERSLEY:KINDERSLEY:51:31:03:109:10:51 YKZ:BUTTONVILLE MUNI:TORONTO:43:51:44:79:22:12 YLD:CHAPLEAU:CHAPLEAU:47:49:12:83:20:47 YLJ:MEADOW LAKE:MEADOW LAKE:54:07:31:108:31:22 YLL:LLOYDMINSTER:LLOYDMINSTER:53:18:33:110:04:21 YLT:ALERT:ALERT:82:31:04:62:16:50 YLW:KELOWNA:KELOWNA:49:57:22:119:22:40 YMA:MAYO:MAYO:63:37:00:135:52:00 YMJ:MOOSE JAW:MOOSE JAW:50:19:49:105:33:33 YMM:FORT MCMURRAY:FORT MCMURRAY:56:39:12:111:13:19 YMO:MOOSONEE:MOOSONEE:51:17:28:80:36:28 YMW:MANIWAKI:MANIWAKI:46:16:28:75:59:24 YMX:MONTREAL INTERNATIONAL MIRABEL:MONTREAL:45:40:47:74:02:19:INT YNA:NATASHQUAN:NATASHQUAN:50:11:23:61:47:21 YND:GATINEAU:GATINEAU:45:31:17:75:33:51 YNM:MATAGAMI:MATAGAMI:49:45:42:77:48:10 YOC:OLD CROW:OLD CROW:67:34:14:139:50:21 YOD:COLD LAKE:COLD LAKE:54:24:18:110:16:46 YOJ:HIGH LEVEL:HIGH LEVEL:58:37:17:117:09:53 YOW:OTTAWA MACDONALD CARTIER INTERNATIONAL:OTTAWA:45:19:21:75:40:09:INT YPA:PRINCE ALBERT GLASS FIELD:PRINCE ALBERT:53:12:51:105:40:22 YPE:PEACE RIVER:PEACE RIVER:56:13:37:117:26:50 YPG:SOUTHPORT:`:49:54:10:98:16:29 N/A:PITT MEADOWS:PITT MEADOWS:49:12:58:122:42:36 YPL:PICKLE LAKE:PICKLE LAKE:51:26:47:90:12:51 YPN:PORT MENIER:PORT MENIER:49:50:11:64:17:19 YPQ:PETERBOROUGH:PETERBOROUGH:44:13:48:78:21:48 YPR:PRINCE RUPERT:PRINCE PUPERT:54:17:10:130:26:41 YPY:FORT CHIPEWYAN:FORT CHIPEWYAN:58:46:02:111:07:02 YQA:MUSKOKA:MUSKOKA:44:58:29:79:18:12 YQB:QUEBEC JEAN LESAGE INTERNATIONAL:QUEBEC:46:47:18:71:23:51:INT YQF:RED DEER REGIONAL:RED DEER INDUSTRIAL:52:10:43:113:53:35 YQG:WINDSOR:WINDSOR:42:16:32:82:57:20 YQH:WATSON LAKE:WATSON LAKE:60:07:04:128:49:19 YQK:KENORA:KENORA:49:47:18:94:21:47 YQL:LETHBRIDGE:LETHBRIDGE:49:37:49:112:47:59 YQM:GREATER MONCTON INTERNATIONAL:MONCTON:46:06:44:64:40:43:US N/A:NAKINA:NAKINA:50:10:58:86:41:47 YQQ:COMOX:COMOX:49:42:39:124:53:12 YQR:REGINA INTERNATIONAL:REGINA:50:25:55:104:39:57:US YQT:THUNDER BAY:THUNDER BAY:48:22:19:89:19:26 YQU:GRANDE PRAIRIE:GRANDE PRAIRIE:55:10:47:118:53:06 YQV:YORKTON MUNI:YORKTON:51:15:53:102:27:42 YQW:NORTH BATTLEFORD:NORTH BATTLEFORD:52:46:09:108:14:37 YQX:GANDER INTERNATIONAL:GANDER:48:56:13:54:34:05:US YQY:SYDNEY:SYDNEY:46:09:41:60:02:52 YQZ:QUESNEL:QUESNEL:53:01:34:122:30:36 YRB:RESOLUTE BAY:RESOLUTE:74:43:01:94:58:10 YRI:RIVIERE DU LOUP:RIVIERE DU LOUP:47:45:52:69:35:05 YRJ:ROBERVAL:ROBERVAL:48:31:12:72:15:56 YRM:ROCKY MOUNTAIN HOUSE:ROCKY MOUNTAIN HOUSE:52:25:47:114:54:15 YRT:RANKIN INLET:RANKIN INLET:62:48:41:92:06:57 YSB:SUDBURY:SUDBURY:46:37:30:80:47:56 YSC:SHERBROOKE:SHERBROOKE:45:26:17:71:41:26 YSJ:SAINT JOHN:ST. JOHN:45:18:58:65:53:25 YSM:FORT SMITH:FORT SMITH:60:01:20:111:57:37 YSR:NANISIVIK:NANISIVIK:72:58:56:84:36:49 YSU:SUMMERSIDE:SUMMERSIDE:46:26:34:63:49:52 YSY:SACHS HARBOUR:SACHS HARBOUR:71:59:38:125:14:33 YTE:CAPE DORSET:CAPE DORSET:64:13:48:76:31:36 YTH:THOMPSON:THOMPSON:55:48:04:97:51:51 YTR:TRENTON:TRENTON:44:07:08:77:31:41 YTS:TIMMINS:TIMMINS:48:34:11:81:22:36 YTZ:CITY CENTRE:TORONTO:43:37:39:79:23:46 YUB:TUKTOYAKTUK:TUKTOYAKTUK:69:26:00:133:01:35 YUL:MONTREAL INTERNATIONAL DORVAL:MONTREAL:45:28:05:73:44:29:INT YUT:REPULSE BAY:REPULSE BAY:66:31:17:86:13:29 YUX:HALL BEACH:HALL BEACH:68:46:34:81:14:37 YUY:ROUYN NORANDA:ROUYN:48:12:22:78:50:08 YVC:LA RONGE:LA RONGE:55:09:05:105:15:43 YVG:VERMILION:VERMILLION:53:21:21:110:49:26 YVM:QIKIQTARJUAQ:BROUGHTON ISLAND:67:32:45:64:01:53 YVO:VAL D OR:VAL D'OR:48:03:12:77:46:58 YVP:KUUJJUAQ:QUUJJUAQ:58:05:46:68:25:37 YVQ:NORMAN WELLS:NORMAN WELLS:65:16:57:126:48:01 YVR:VANCOUVER INTERNATIONAL:VANCOUVER:49:11:42:123:10:55:INT YVT:BUFFALO NARROWS:BUFFALO NARROWS:55:50:31:108:25:03 YVV:WIARTON:WIARTON:44:44:45:81:06:26 YWA:PETAWAWA:PETAWAWA:45:57:08:77:19:09 YWG:WINNIPEG INTERNATIONAL:WINNIPEG:49:54:36:97:14:04:INT YWK:WABUSH:WABUSH:52:55:19:66:51:52 YWL:WILLIAMS LAKE:WILLIAMS LAKE:52:10:59:122:03:15 YWY:WRIGLEY:WRIGLEY:63:12:34:123:26:12 YXC:CRANBROOK:CRANBROOK:49:36:37:115:46:57 YXD:EDMONTON CITY CENTRE:EDMONTON:53:34:21:113:31:14 YXE:SASKATOON J G DIEFENBAKER INTERNATIONAL:SASKATOON:52:10:15:106:41:59:US YXH:MEDICINE HAT:MEDICINE HAT:50:01:08:110:43:15 YXJ:FORT ST JOHN:FORT SAINT JOHN:56:14:17:120:44:25 YXL:SIOUX LOOKOUT:SIOUX LOOKOUT:50:06:52:91:54:15 YXP:PANGNIRTUNG:PANGNIRTUNG:66:08:42:65:42:49 YXR:TIMISKAMING RGNL:EARLTON:47:41:42:79:50:56 YXS:PRINCE GEORGE:PRINCE GEORGE:53:53:22:122:40:44 YXT:TERRACE:TERRACE:54:27:59:128:34:39 YXU:LONDON:LONDON:43:02:08:81:09:14 YXX:ABBOTSFORD:ABBOTSFORD:49:01:31:122:21:48 YXY:WHITEHORSE INTERNATIONAL:WHITEHORSE:60:42:34:135:04:06:US YYB:NORTH BAY:NORTH BAY:46:21:49:79:25:22 YYC:CALGARY INTERNATIONAL:CALGARY:51:06:50:114:01:13:INT YYD:SMITHERS:SMITHERS:54:49:29:127:10:58 YYE:FORT NELSON:FORT NELSON:58:50:11:122:35:49 YYF:PENTICTON:PENTICTON:49:27:46:119:36:08 YYG:CHARLOTTETOWN:CHARLOTTETOWN:46:17:24:63:07:16 YYH:TALOYOAK:SPENCE BAY:69:32:48:93:34:36 YYJ:VICTORIA INTERNATIONAL:VICTORIA:48:38:49:123:25:33:US YYL:LYNN LAKE:LYNN LAKE:56:51:50:101:04:34 YYN:SWIFT CURRENT:SWIFT CURRENT:50:17:31:107:41:26 YYQ:CHURCHILL:CHURCHILL:58:44:21:94:03:54 YYR:GOOSE BAY:GOOSE BAY:53:19:09:60:25:33 YYT:ST JOHNS INTERNATIONAL:ST. JOHN'S:47:37:07:52:45:07 YYU:KAPUSKASING:KAPUSKASING:49:24:50:82:28:03 YYW:ARMSTRONG:ARMSTRONG:50:17:25:88:54:35 YYY:MONT JOLI:MONT JOLI:48:36:31:68:12:29 YYZ:LESTER B PEARSON INTERNATIONAL:TORONTO:43:40:38:79:37:50:INT YZD:DOWNSVIEW:TORONTO:43:44:33:79:27:56 YZE:GORE BAY MANITOULIN:GORE BAY:45:53:07:82:34:04 YZF:YELLOWKNIFE:YELLOWKNIFE:62:27:46:114:26:25 YZH:SLAVE LAKE:SLAVE LAKE:55:17:36:114:46:42 YZP:SANDSPIT:SANDSPIT:53:15:15:131:48:50 YZR:CHRIS HADFIELD:SARNIA:42:59:58:82:18:32 YZT:PORT HARDY:PORT HARDY:50:40:50:127:22:00 YZU:WHITECOURT:WHITECOURT:54:08:38:115:47:12 YZV:SEPT ILES:SEPT-ILES:50:13:24:66:15:56 YZW:TESLIN:TESLIN:60:10:22:132:44:34 YZX:GREENWOOD:GREENWOOD:44:59:04:64:55:01 ZFA:FARO:FARO:62:12:27:133:22:33 ZFM:FORT MCPHERSON:FORT MCPHERSON:67:24:28:134:51:37