-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy pathRE_Functions.py
171 lines (132 loc) · 38.7 KB
/
RE_Functions.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
# -*- coding: utf-8 -*-
"""
Created on Wed May 23 17:53:44 2018
@author: Fabien Gueret 4 TerraMollis Ltd.
"""
from math import sin, cos, sqrt, atan2, radians
import datetime as dt
import numpy as np
import pandas as pd
import sqlite3 as lite
def distancefromcentre(lat,long):
# this function calculates the distance from a point from the geographical centre of London
#London geographical centre
ldn_centre_lat = 51.4833385
ldn_centre_long = -0.193589
# London official lat and long : 51.509865 /-0.118092
# approximate radius of earth in km
# Our good Earth radius in km
R = 6373.0
# conversion is radians
lat1 = radians(ldn_centre_lat)
lon1 = radians(ldn_centre_long)
lat2 = radians(lat)
lon2 = radians(long)
dlon = lon2 - lon1
dlat = lat2 - lat1
a = sin(dlat / 2)**2 + cos(lat1) * cos(lat2) * sin(dlon / 2)**2
c = 2 * atan2(sqrt(a), sqrt(1 - a))
distance = R * c
return distance
def twoptdistance(lt1, lg1, lt2 , lg2):
# returns the distance in km between two geographical point expressed in latitude and longitude
# return None if the latitude or longitude are not numerical or do not correspond to degree
# Our good Earth radius in km
R = 6373.0
try :
# conversion is radians
lat1 = radians(lt1)
lon1 = radians(lg1)
lat2 = radians(lt2)
lon2 = radians(lg2)
#radians differentials
dlon = lon2 - lon1
dlat = lat2 - lat1
except: return None
a = sin(dlat / 2)**2 + cos(lat1) * cos(lat2) * sin(dlon / 2)**2
c = 2 * atan2(sqrt(a), sqrt(1 - a))
distance = R * c
return distance
def dateconvert(value,d_type):
# this function converts the date string in the database properties to datetime format
if d_type == 1:
try:
date = dt.datetime.strptime(value, '%Y-%m-%d %H:%M:%S')
return date
except:
return np.nan
elif d_type == 2:
try:
date = dt.datetime.strptime(value, '%d/%m/%Y')
return date
except:
return np.nan
elif d_type == 3:
try:
date = dt.datetime.strptime(value, '%Y-%m-%d %H:%M:%S.%f')
return date
except:
return np.nan
else: return np.nan
def functor_words_eliminator (word_list):
#this function removes the grammatical words from a text
filename = 'functors.txt'
f= open(filename,'r')
data = f.read().replace('\n','')
fw = data.split()
fw= [item.strip().lower() for item in fw]
original_list = word_list
for word in word_list:
if word in fw : original_list.remove(word)
elif word.isnumeric() : original_list.remove(word)
elif not isinstance(word,str) : original_list.remove(word)
return original_list
### This function return the Outward code from the postcode
def Outward(postcodeinput):
cleanpostcode = postcodeinput.upper().strip()
l=len(cleanpostcode)
if l <5 : R = cleanpostcode
else: R = cleanpostcode[:-3].strip()
return R
### This function return the URL for the properties for a given outcode (first part of UK postcode - 1st argument)
### for sale or rent (2nd argument)
### There are no further filters applied to the search
def urlRM(outcode, SorR, last):
# Dictionary of all outcodes in the UK with ID as key
Id2OutCodeDict = {1:"AB10",2:"AB11",3:"AB12",4:"AB13",5:"AB14",6:"AB15",7:"AB16",8:"AB21",9:"AB22",10:"AB23",11:"AB24",12:"AB25",13:"AB30",14:"AB31",15:"AB32",16:"AB33",17:"AB34",18:"AB35",19:"AB36",20:"AB37",21:"AB38",22:"AB39",23:"AB41",24:"AB42",25:"AB43",26:"AB44",27:"AB45",28:"AB51",29:"AB52",30:"AB53",31:"AB54",32:"AB55",33:"AB56",34:"AL1",35:"AL10",36:"AL2",37:"AL3",38:"AL4",39:"AL5",40:"AL6",41:"AL7",42:"AL8",43:"AL9",44:"B1",45:"B10",46:"B11",47:"B12",48:"B13",49:"B14",50:"B15",51:"B16",52:"B17",53:"B18",54:"B19",55:"B2",56:"B20",57:"B21",59:"B23",60:"B24",61:"B25",62:"B26",63:"B27",64:"B28",65:"B29",66:"B3",67:"B30",68:"B31",69:"B32",70:"B33",71:"B34",72:"B35",73:"B36",74:"B37",75:"B38",76:"B4",77:"B40",78:"B42",79:"B43",80:"B44",81:"B45",82:"B46",83:"B47",84:"B48",85:"B49",86:"B5",87:"B50",88:"B6",89:"B60",90:"B61",91:"B62",92:"B63",93:"B64",94:"B65",95:"B66",96:"B67",97:"B68",98:"B69",99:"B7",100:"B70",101:"B71",102:"B72",103:"B73",104:"B74",105:"B75",106:"B76",107:"B77",108:"B78",109:"B79",110:"B8",111:"B80",112:"B9",113:"B90",114:"B91",115:"B92",116:"B93",117:"B94",118:"B95",119:"B96",120:"B97",121:"B98",122:"BA1",123:"BA10",124:"BA11",125:"BA12",126:"BA13",127:"BA14",128:"BA15",129:"BA16",130:"BA2",131:"BA20",132:"BA21",133:"BA22",134:"BA3",135:"BA4",136:"BA5",137:"BA6",138:"BA7",139:"BA8",140:"BA9",141:"BB1",142:"BB10",143:"BB11",144:"BB12",145:"BB18",146:"BB2",147:"BB3",148:"BB4",149:"BB5",150:"BB6",151:"BB7",152:"BB8",153:"BB9",154:"BB94",155:"BD1",156:"BD10",157:"BD11",158:"BD12",159:"BD13",160:"BD14",161:"BD15",162:"BD16",163:"BD17",164:"BD18",165:"BD19",166:"BD2",167:"BD20",168:"BD21",169:"BD22",170:"BD23",171:"BD24",172:"BD3",173:"BD4",174:"BD5",175:"BD6",176:"BD7",177:"BD8",178:"BD9",179:"BD97",180:"BD98",181:"BD99",182:"BH1",183:"BH10",184:"BH11",185:"BH12",186:"BH13",187:"BH14",188:"BH15",189:"BH16",190:"BH17",191:"BH18",192:"BH19",193:"BH2",194:"BH20",195:"BH21",196:"BH22",197:"BH23",198:"BH24",199:"BH25",200:"BH3",201:"BH31",202:"BH4",203:"BH5",204:"BH6",205:"BH7",206:"BH8",207:"BH9",208:"BL0",209:"BL1",210:"BL11",211:"BL2",212:"BL3",213:"BL4",214:"BL5",215:"BL6",216:"BL7",217:"BL78",218:"BL8",219:"BL9",220:"BN1",221:"BN10",222:"BN11",223:"BN12",224:"BN13",225:"BN14",226:"BN15",227:"BN16",228:"BN17",229:"BN18",230:"BN2",231:"BN20",232:"BN21",233:"BN22",234:"BN23",235:"BN24",236:"BN25",237:"BN26",238:"BN27",239:"BN3",240:"BN41",241:"BN42",242:"BN43",243:"BN44",244:"BN45",245:"BN5",246:"BN6",247:"BN7",248:"BN8",249:"BN9",250:"BN99",251:"BR1",252:"BR2",253:"BR3",254:"BR4",255:"BR5",256:"BR6",257:"BR7",258:"BR8",259:"BS1",260:"BS10",261:"BS11",262:"BS13",263:"BS14",264:"BS15",265:"BS16",266:"BS2",267:"BS20",268:"BS21",269:"BS22",270:"BS23",271:"BS24",272:"BS25",273:"BS26",274:"BS27",275:"BS28",276:"BS29",277:"BS3",278:"BS30",279:"BS31",280:"BS32",281:"BS34",282:"BS35",283:"BS36",284:"BS37",285:"BS39",286:"BS4",287:"BS40",288:"BS41",289:"BS48",290:"BS49",291:"BS5",292:"BS6",293:"BS7",295:"BS8",296:"BS9",297:"BS98",298:"BS99",299:"BT1",300:"BT10",301:"BT11",302:"BT12",303:"BT13",304:"BT14",305:"BT15",306:"BT16",307:"BT17",308:"BT18",309:"BT19",310:"BT2",311:"BT20",312:"BT21",313:"BT22",314:"BT23",315:"BT24",316:"BT25",317:"BT26",318:"BT27",319:"BT28",320:"BT29",321:"BT3",322:"BT30",323:"BT31",324:"BT32",325:"BT33",326:"BT34",327:"BT35",328:"BT36",329:"BT37",330:"BT38",331:"BT39",332:"BT4",333:"BT40",334:"BT41",335:"BT42",336:"BT43",337:"BT44",338:"BT45",339:"BT46",340:"BT47",341:"BT48",342:"BT49",343:"BT5",344:"BT51",345:"BT52",346:"BT53",347:"BT54",348:"BT55",349:"BT56",350:"BT57",352:"BT6",353:"BT60",354:"BT61",355:"BT62",356:"BT63",357:"BT64",358:"BT65",359:"BT66",360:"BT67",361:"BT68",362:"BT69",363:"BT7",364:"BT70",365:"BT71",366:"BT74",367:"BT75",368:"BT76",369:"BT77",370:"BT78",371:"BT79",372:"BT8",373:"BT80",374:"BT81",375:"BT82",376:"BT9",377:"BT92",378:"BT93",379:"BT94",380:"CA1",381:"CA10",382:"CA11",383:"CA12",384:"CA13",385:"CA14",386:"CA15",387:"CA16",388:"CA17",389:"CA18",390:"CA19",391:"CA2",392:"CA20",393:"CA21",394:"CA22",395:"CA23",396:"CA24",397:"CA25",398:"CA26",399:"CA27",400:"CA28",401:"CA3",402:"CA4",403:"CA5",404:"CA6",405:"CA7",406:"CA8",407:"CA9",408:"CA95",409:"CB1",410:"CB10",411:"CB11",412:"CB2",413:"CB3",414:"CB4",415:"CB5",416:"CB6",417:"CB7",418:"CB8",419:"CB9",420:"CF10",421:"CF11",422:"CF14",423:"CF15",424:"CF23",425:"CF24",426:"CF3",427:"CF31",428:"CF32",429:"CF33",430:"CF34",431:"CF35",432:"CF36",433:"CF37",434:"CF38",435:"CF39",436:"CF40",437:"CF41",438:"CF42",439:"CF43",440:"CF44",441:"CF45",442:"CF46",443:"CF47",444:"CF48",445:"CF5",446:"CF61",447:"CF62",448:"CF63",449:"CF64",450:"CF71",451:"CF72",452:"CF81",453:"CF82",454:"CF83",455:"CF95",456:"CH1",457:"CH2",458:"CH3",459:"CH4",460:"CH41",461:"CH42",462:"CH43",463:"CH44",464:"CH45",465:"CH46",466:"CH47",467:"CH48",468:"CH49",469:"CH5",470:"CH6",471:"CH60",472:"CH61",473:"CH62",474:"CH63",475:"CH64",476:"CH65",477:"CH66",478:"CH7",479:"CH8",480:"CH88",481:"CH99",482:"CM0",483:"CM1",484:"CM11",485:"CM12",486:"CM13",487:"CM14",488:"CM15",489:"CM16",490:"CM17",491:"CM18",492:"CM19",493:"CM2",494:"CM20",495:"CM21",496:"CM22",497:"CM23",498:"CM24",499:"CM3",500:"CM4",501:"CM5",502:"CM6",503:"CM7",504:"CM8",505:"CM9",506:"CM99",507:"CO1",508:"CO10",509:"CO11",510:"CO12",511:"CO13",512:"CO14",513:"CO15",514:"CO16",515:"CO2",516:"CO3",517:"CO4",518:"CO5",519:"CO6",520:"CO7",521:"CO8",522:"CO9",523:"CR0",524:"CR2",525:"CR3",526:"CR4",527:"CR5",528:"CR6",529:"CR7",530:"CR8",531:"CR9",532:"CT1",533:"CT10",534:"CT11",535:"CT12",536:"CT13",537:"CT14",538:"CT15",539:"CT16",540:"CT17",541:"CT18",542:"CT19",543:"CT2",544:"CT20",545:"CT21",546:"CT3",547:"CT4",548:"CT5",549:"CT6",550:"CT7",551:"CT8",552:"CT9",553:"CV1",554:"CV10",555:"CV11",556:"CV12",557:"CV13",558:"CV2",559:"CV21",560:"CV22",561:"CV23",562:"CV3",563:"CV31",564:"CV32",565:"CV33",566:"CV34",567:"CV35",568:"CV36",569:"CV37",570:"CV4",571:"CV47",572:"CV5",573:"CV6",574:"CV7",575:"CV8",576:"CV9",577:"CW1",578:"CW10",579:"CW11",580:"CW12",581:"CW2",582:"CW3",583:"CW4",584:"CW5",585:"CW6",586:"CW7",587:"CW8",588:"CW9",589:"DA1",590:"DA10",591:"DA11",592:"DA12",593:"DA13",594:"DA14",595:"DA15",596:"DA16",597:"DA17",598:"DA18",599:"DA2",600:"DA3",601:"DA4",602:"DA5",603:"DA6",604:"DA7",605:"DA8",606:"DA9",607:"DD1",608:"DD10",609:"DD11",610:"DD2",611:"DD3",612:"DD4",613:"DD5",614:"DD6",615:"DD7",616:"DD8",617:"DD9",618:"DE1",619:"DE11",620:"DE12",621:"DE13",622:"DE14",623:"DE15",624:"DE21",625:"DE22",626:"DE23",627:"DE24",628:"DE3",629:"DE4",630:"DE45",631:"DE5",632:"DE55",633:"DE56",634:"DE6",635:"DE65",636:"DE7",637:"DE72",638:"DE73",639:"DE74",640:"DE75",641:"DE99",642:"DG1",643:"DG10",644:"DG11",645:"DG12",646:"DG13",647:"DG14",648:"DG16",649:"DG2",650:"DG3",651:"DG4",652:"DG5",653:"DG6",654:"DG7",655:"DG8",656:"DG9",657:"DH1",658:"DH2",659:"DH3",660:"DH4",661:"DH5",662:"DH6",663:"DH7",664:"DH8",665:"DH9",666:"DH97",667:"DH98",668:"DH99",669:"DL1",670:"DL10",671:"DL11",672:"DL12",673:"DL13",674:"DL14",675:"DL15",676:"DL16",677:"DL17",678:"DL2",679:"DL3",680:"DL4",681:"DL5",682:"DL6",683:"DL7",684:"DL8",685:"DL9",686:"DN1",687:"DN10",688:"DN11",689:"DN12",690:"DN14",691:"DN15",692:"DN16",693:"DN17",694:"DN18",695:"DN19",696:"DN2",697:"DN20",698:"DN21",699:"DN22",700:"DN3",701:"DN31",702:"DN32",703:"DN33",704:"DN34",705:"DN35",706:"DN36",707:"DN37",708:"DN38",709:"DN39",710:"DN4",711:"DN40",712:"DN41",713:"DN5",714:"DN55",715:"DN6",716:"DN7",717:"DN8",718:"DN9",719:"DT1",720:"DT10",721:"DT11",722:"DT2",723:"DT3",724:"DT4",725:"DT5",726:"DT6",727:"DT7",728:"DT8",729:"DT9",730:"DY1",731:"DY10",732:"DY11",733:"DY12",734:"DY13",735:"DY14",736:"DY2",737:"DY3",738:"DY4",739:"DY5",740:"DY6",741:"DY7",742:"DY8",743:"DY9",744:"E1",745:"E10",746:"E11",747:"E12",748:"E13",749:"E14",750:"E15",751:"E16",752:"E17",753:"E18",754:"E1W",755:"E2",756:"E3",757:"E4",758:"E5",759:"E6",760:"E7",761:"E77",762:"E8",763:"E9",764:"E98",765:"EC1A",766:"EC1M",767:"EC1N",768:"EC1P",769:"EC1R",770:"EC1V",771:"EC1Y",772:"EC2A",773:"EC2M",774:"EC2N",775:"EC2P",776:"EC2R",777:"EC2V",778:"EC2Y",779:"EC3A",780:"EC3M",781:"EC3N",782:"EC3P",783:"EC3R",784:"EC3V",785:"EC4A",786:"EC4M",787:"EC4N",788:"EC4P",789:"EC4R",790:"EC4V",791:"EC4Y",793:"EH1",794:"EH10",795:"EH11",796:"EH12",797:"EH13",798:"EH14",799:"EH15",800:"EH16",801:"EH17",802:"EH18",803:"EH19",804:"EH2",805:"EH20",806:"EH21",807:"EH22",808:"EH23",809:"EH24",810:"EH25",811:"EH26",812:"EH27",813:"EH28",814:"EH29",815:"EH3",816:"EH30",817:"EH31",818:"EH32",819:"EH33",820:"EH34",821:"EH35",822:"EH36",823:"EH37",824:"EH38",825:"EH39",826:"EH4",827:"EH40",828:"EH41",829:"EH42",830:"EH43",831:"EH44",832:"EH45",833:"EH46",834:"EH47",835:"EH48",836:"EH49",837:"EH5",838:"EH51",839:"EH52",840:"EH53",841:"EH54",842:"EH55",843:"EH6",844:"EH7",845:"EH8",846:"EH9",847:"EH95",848:"EH99",849:"EN1",850:"EN10",851:"EN11",852:"EN2",853:"EN3",854:"EN4",855:"EN5",856:"EN6",857:"EN7",858:"EN8",859:"EN9",860:"EX1",861:"EX10",862:"EX11",863:"EX12",864:"EX13",865:"EX14",866:"EX15",867:"EX16",868:"EX17",869:"EX18",870:"EX19",871:"EX2",872:"EX20",873:"EX21",874:"EX22",875:"EX23",876:"EX24",877:"EX3",878:"EX31",879:"EX32",880:"EX33",881:"EX34",882:"EX35",883:"EX36",884:"EX37",885:"EX38",886:"EX39",887:"EX4",888:"EX5",889:"EX6",890:"EX7",891:"EX8",892:"EX9",893:"FK1",894:"FK10",895:"FK11",896:"FK12",897:"FK13",898:"FK14",899:"FK15",900:"FK16",901:"FK17",902:"FK18",903:"FK19",904:"FK2",905:"FK20",906:"FK21",907:"FK3",908:"FK4",909:"FK5",910:"FK6",911:"FK7",912:"FK8",913:"FK9",914:"FY0",915:"FY1",916:"FY2",917:"FY3",918:"FY4",919:"FY5",920:"FY6",921:"FY7",922:"FY8",923:"G1",924:"G11",925:"G12",926:"G13",927:"G14",928:"G15",929:"G2",930:"G20",931:"G21",932:"G22",933:"G23",934:"G3",935:"G31",936:"G32",937:"G33",938:"G34",939:"G4",940:"G40",941:"G41",942:"G42",943:"G43",944:"G44",945:"G45",946:"G46",947:"G5",948:"G51",949:"G52",950:"G53",951:"G58",952:"G60",953:"G61",954:"G62",955:"G63",956:"G64",957:"G65",958:"G66",959:"G67",960:"G68",961:"G69",962:"G70",963:"G71",964:"G72",965:"G73",966:"G74",967:"G75",968:"G76",969:"G77",970:"G78",971:"G79",973:"G81",974:"G82",975:"G83",976:"G84",978:"GL1",979:"GL10",980:"GL11",981:"GL12",982:"GL13",983:"GL14",984:"GL15",985:"GL16",986:"GL17",987:"GL18",988:"GL19",989:"GL2",990:"GL20",991:"GL3",992:"GL4",993:"GL5",994:"GL50",995:"GL51",996:"GL52",997:"GL53",998:"GL54",999:"GL55",1000:"GL56",1001:"GL6",1002:"GL7",1003:"GL8",1004:"GL9",1005:"GU1",1006:"GU10",1007:"GU11",1008:"GU12",1009:"GU14",1010:"GU15",1011:"GU16",1012:"GU17",1013:"GU18",1014:"GU19",1015:"GU2",1016:"GU20",1017:"GU21",1018:"GU22",1019:"GU23",1020:"GU24",1021:"GU25",1022:"GU26",1023:"GU27",1024:"GU28",1025:"GU29",1026:"GU3",1027:"GU30",1028:"GU31",1029:"GU32",1030:"GU33",1031:"GU34",1032:"GU35",1033:"GU4",1034:"GU46",1035:"GU47",1036:"GU5",1037:"GU51",1038:"GU52",1039:"GU6",1040:"GU7",1041:"GU8",1042:"GU9",1043:"GU95",1044:"GY1",1045:"GY2",1046:"GY3",1047:"GY4",1048:"GY5",1049:"GY6",1050:"GY7",1051:"GY8",1052:"GY9",1053:"HA0",1054:"HA1",1055:"HA2",1056:"HA3",1057:"HA4",1058:"HA5",1059:"HA6",1060:"HA7",1061:"HA8",1062:"HA9",1063:"HD1",1064:"HD2",1065:"HD3",1066:"HD4",1067:"HD5",1068:"HD6",1069:"HD7",1070:"HD8",1071:"HD9",1072:"HG1",1073:"HG2",1074:"HG3",1075:"HG4",1076:"HG5",1077:"HP1",1078:"HP10",1079:"HP11",1080:"HP12",1081:"HP13",1082:"HP14",1083:"HP15",1084:"HP16",1085:"HP17",1086:"HP18",1087:"HP19",1088:"HP2",1089:"HP20",1090:"HP21",1091:"HP22",1092:"HP23",1093:"HP27",1094:"HP3",1095:"HP4",1096:"HP5",1097:"HP6",1098:"HP7",1099:"HP8",1100:"HP9",1101:"HR1",1102:"HR2",1103:"HR3",1104:"HR4",1105:"HR5",1106:"HR6",1107:"HR7",1108:"HR8",1109:"HR9",1110:"HS1",1111:"HS2",1112:"HS3",1113:"HS4",1114:"HS5",1115:"HS6",1116:"HS7",1117:"HS8",1118:"HS9",1119:"HU1",1120:"HU10",1121:"HU11",1122:"HU12",1123:"HU13",1124:"HU14",1125:"HU15",1126:"HU16",1127:"HU17",1128:"HU18",1129:"HU19",1130:"HU2",1131:"HU20",1132:"HU3",1133:"HU4",1134:"HU5",1135:"HU6",1136:"HU7",1137:"HU8",1138:"HU9",1139:"HX1",1140:"HX2",1141:"HX3",1142:"HX4",1143:"HX5",1144:"HX6",1145:"HX7",1146:"IG1",1147:"IG10",1148:"IG11",1149:"IG2",1150:"IG3",1151:"IG4",1152:"IG5",1153:"IG6",1154:"IG7",1155:"IG8",1156:"IG9",1157:"IM1",1158:"IM2",1159:"IM3",1160:"IM4",1161:"IM5",1162:"IM6",1163:"IM7",1164:"IM8",1165:"IM9",1166:"IM99",1167:"IP1",1168:"IP10",1169:"IP11",1170:"IP12",1171:"IP13",1172:"IP14",1173:"IP15",1174:"IP16",1175:"IP17",1176:"IP18",1177:"IP19",1178:"IP2",1179:"IP20",1180:"IP21",1181:"IP22",1182:"IP23",1183:"IP24",1184:"IP25",1185:"IP26",1186:"IP27",1187:"IP28",1188:"IP29",1189:"IP3",1190:"IP30",1191:"IP31",1192:"IP32",1193:"IP33",1194:"IP4",1195:"IP5",1196:"IP6",1197:"IP7",1198:"IP8",1199:"IP9",1200:"IP98",1201:"IV1",1202:"IV10",1203:"IV11",1204:"IV12",1205:"IV13",1206:"IV14",1207:"IV15",1208:"IV16",1209:"IV17",1210:"IV18",1211:"IV19",1212:"IV2",1213:"IV20",1214:"IV21",1215:"IV22",1216:"IV23",1217:"IV24",1218:"IV25",1219:"IV26",1220:"IV27",1221:"IV28",1222:"IV3",1223:"IV30",1224:"IV31",1225:"IV32",1226:"IV36",1227:"IV4",1228:"IV40",1229:"IV41",1230:"IV42",1231:"IV43",1232:"IV44",1233:"IV45",1234:"IV46",1235:"IV47",1236:"IV48",1237:"IV49",1238:"IV5",1239:"IV51",1240:"IV52",1241:"IV53",1242:"IV54",1243:"IV55",1244:"IV56",1245:"IV6",1246:"IV63",1247:"IV7",1248:"IV8",1249:"IV9",1250:"JE1",1251:"JE2",1252:"JE3",1253:"JE4",1254:"KA1",1255:"KA10",1256:"KA11",1257:"KA12",1258:"KA13",1259:"KA14",1260:"KA15",1261:"KA16",1262:"KA17",1263:"KA18",1264:"KA19",1265:"KA2",1266:"KA20",1267:"KA21",1268:"KA22",1269:"KA23",1270:"KA24",1271:"KA25",1272:"KA26",1273:"KA27",1274:"KA28",1275:"KA29",1276:"KA3",1277:"KA30",1278:"KA4",1279:"KA5",1280:"KA6",1281:"KA7",1282:"KA8",1283:"KA9",1284:"KT1",1285:"KT10",1286:"KT11",1287:"KT12",1288:"KT13",1289:"KT14",1290:"KT15",1291:"KT16",1292:"KT17",1293:"KT18",1294:"KT19",1295:"KT2",1296:"KT20",1297:"KT21",1298:"KT22",1299:"KT23",1300:"KT24",1301:"KT3",1302:"KT4",1303:"KT5",1304:"KT6",1305:"KT7",1306:"KT8",1307:"KT9",1308:"KW1",1309:"KW10",1310:"KW11",1311:"KW12",1312:"KW13",1313:"KW14",1314:"KW15",1315:"KW16",1316:"KW17",1317:"KW2",1318:"KW3",1319:"KW5",1320:"KW6",1321:"KW7",1322:"KW8",1323:"KW9",1324:"KY1",1325:"KY10",1326:"KY11",1327:"KY12",1328:"KY13",1329:"KY14",1330:"KY15",1331:"KY16",1332:"KY2",1333:"KY3",1334:"KY4",1335:"KY5",1336:"KY6",1337:"KY7",1338:"KY8",1339:"KY9",1340:"KY99",1341:"L1",1342:"L10",1343:"L11",1344:"L12",1345:"L13",1346:"L14",1347:"L15",1348:"L16",1349:"L17",1350:"L18",1351:"L19",1352:"L2",1353:"L20",1354:"L21",1355:"L22",1356:"L23",1357:"L24",1358:"L25",1359:"L26",1360:"L27",1361:"L28",1362:"L29",1363:"L3",1364:"L30",1365:"L31",1366:"L32",1367:"L33",1368:"L34",1369:"L35",1370:"L36",1371:"L37",1372:"L38",1373:"L39",1374:"L4",1375:"L40",1376:"L5",1377:"L6",1378:"L67",1379:"L68",1380:"L69",1381:"L7",1382:"L70",1383:"L71",1384:"L72",1386:"L74",1387:"L75",1388:"L8",1389:"L9",1390:"LA1",1391:"LA10",1392:"LA11",1393:"LA12",1394:"LA13",1395:"LA14",1396:"LA15",1397:"LA16",1398:"LA17",1399:"LA18",1400:"LA19",1401:"LA2",1402:"LA20",1403:"LA21",1404:"LA22",1405:"LA23",1406:"LA3",1407:"LA4",1408:"LA5",1409:"LA6",1410:"LA7",1411:"LA8",1412:"LA9",1413:"LD1",1414:"LD2",1415:"LD3",1416:"LD4",1417:"LD5",1418:"LD6",1419:"LD7",1420:"LD8",1421:"LE1",1422:"LE10",1423:"LE11",1424:"LE12",1425:"LE13",1426:"LE14",1427:"LE15",1428:"LE16",1429:"LE17",1430:"LE18",1431:"LE2",1432:"LE3",1433:"LE4",1434:"LE5",1435:"LE55",1436:"LE6",1437:"LE65",1438:"LE67",1439:"LE7",1440:"LE8",1441:"LE87",1442:"LE9",1444:"LE95",1445:"LL11",1446:"LL12",1447:"LL13",1448:"LL14",1449:"LL15",1450:"LL16",1451:"LL17",1452:"LL18",1453:"LL19",1454:"LL20",1455:"LL21",1456:"LL22",1457:"LL23",1458:"LL24",1459:"LL25",1460:"LL26",1461:"LL27",1462:"LL28",1463:"LL29",1464:"LL30",1465:"LL31",1466:"LL32",1467:"LL33",1468:"LL34",1469:"LL35",1470:"LL36",1471:"LL37",1472:"LL38",1473:"LL39",1474:"LL40",1475:"LL41",1476:"LL42",1477:"LL43",1478:"LL44",1479:"LL45",1480:"LL46",1481:"LL47",1482:"LL48",1483:"LL49",1484:"LL51",1485:"LL52",1486:"LL53",1487:"LL54",1488:"LL55",1489:"LL56",1490:"LL57",1491:"LL58",1492:"LL59",1493:"LL60",1494:"LL61",1495:"LL62",1496:"LL63",1497:"LL64",1498:"LL65",1499:"LL66",1500:"LL67",1501:"LL68",1502:"LL69",1503:"LL70",1504:"LL71",1505:"LL72",1506:"LL73",1507:"LL74",1508:"LL75",1509:"LL76",1510:"LL77",1511:"LL78",1512:"LN1",1513:"LN10",1514:"LN11",1515:"LN12",1516:"LN13",1517:"LN2",1518:"LN3",1519:"LN4",1520:"LN5",1521:"LN6",1522:"LN7",1523:"LN8",1524:"LN9",1525:"LS1",1526:"LS10",1527:"LS11",1528:"LS12",1529:"LS13",1530:"LS14",1531:"LS15",1532:"LS16",1533:"LS17",1534:"LS18",1535:"LS19",1536:"LS2",1537:"LS20",1538:"LS21",1539:"LS22",1540:"LS23",1541:"LS24",1542:"LS25",1543:"LS26",1544:"LS27",1545:"LS28",1546:"LS29",1547:"LS3",1548:"LS4",1549:"LS5",1550:"LS6",1551:"LS7",1552:"LS8",1553:"LS9",1554:"LS98",1555:"LS99",1556:"LU1",1557:"LU2",1558:"LU3",1559:"LU4",1560:"LU5",1561:"LU6",1562:"LU7",1564:"M1",1565:"M11",1566:"M12",1567:"M13",1568:"M14",1569:"M15",1570:"M16",1571:"M17",1572:"M18",1573:"M19",1574:"M2",1575:"M20",1576:"M21",1577:"M22",1578:"M23",1579:"M24",1580:"M25",1581:"M26",1582:"M27",1583:"M28",1584:"M29",1585:"M3",1586:"M30",1587:"M31",1588:"M32",1589:"M33",1590:"M34",1591:"M35",1592:"M38",1593:"M4",1594:"M40",1595:"M41",1596:"M43",1597:"M44",1598:"M45",1599:"M46",1600:"M5",1601:"M6",1602:"M60",1603:"M7",1604:"M8",1605:"M9",1606:"M90",1607:"M99",1608:"ME1",1609:"ME10",1610:"ME11",1611:"ME12",1612:"ME13",1613:"ME14",1614:"ME15",1615:"ME16",1616:"ME17",1617:"ME18",1618:"ME19",1619:"ME2",1620:"ME20",1621:"ME3",1622:"ME4",1623:"ME5",1624:"ME6",1625:"ME7",1626:"ME8",1627:"ME9",1628:"MK1",1629:"MK10",1630:"MK11",1631:"MK12",1632:"MK13",1633:"MK14",1634:"MK15",1635:"MK16",1636:"MK17",1637:"MK18",1638:"MK19",1639:"MK2",1640:"MK3",1641:"MK4",1642:"MK40",1643:"MK41",1644:"MK42",1645:"MK43",1646:"MK44",1647:"MK45",1648:"MK46",1649:"MK5",1650:"MK6",1651:"MK7",1652:"MK8",1653:"MK9",1654:"ML1",1655:"ML10",1656:"ML11",1657:"ML12",1658:"ML2",1659:"ML3",1660:"ML4",1661:"ML5",1662:"ML6",1663:"ML7",1664:"ML8",1665:"ML9",1666:"N1",1667:"N10",1668:"N11",1669:"N12",1670:"N13",1671:"N14",1672:"N15",1673:"N16",1674:"N17",1675:"N18",1676:"N19",1677:"N2",1678:"N20",1679:"N21",1680:"N22",1681:"N3",1682:"N4",1683:"N5",1684:"N6",1685:"N7",1686:"N8",1687:"N9",1688:"NE1",1689:"NE10",1690:"NE11",1691:"NE12",1692:"NE13",1693:"NE15",1694:"NE16",1695:"NE17",1696:"NE18",1697:"NE19",1698:"NE2",1699:"NE20",1700:"NE21",1701:"NE22",1702:"NE23",1703:"NE24",1704:"NE25",1705:"NE26",1706:"NE27",1707:"NE28",1708:"NE29",1709:"NE3",1710:"NE30",1711:"NE31",1712:"NE32",1713:"NE33",1714:"NE34",1715:"NE35",1716:"NE36",1717:"NE37",1718:"NE38",1719:"NE39",1720:"NE4",1721:"NE40",1722:"NE41",1723:"NE42",1724:"NE43",1725:"NE44",1726:"NE45",1727:"NE46",1728:"NE47",1729:"NE48",1730:"NE49",1731:"NE5",1732:"NE6",1733:"NE61",1734:"NE62",1735:"NE63",1736:"NE64",1737:"NE65",1738:"NE66",1739:"NE67",1740:"NE68",1741:"NE69",1742:"NE7",1743:"NE70",1744:"NE71",1745:"NE8",1746:"NE82",1747:"NE85",1748:"NE88",1749:"NE9",1750:"NE98",1751:"NE99",1752:"NG1",1753:"NG10",1754:"NG11",1755:"NG12",1756:"NG13",1757:"NG14",1758:"NG15",1759:"NG16",1760:"NG17",1761:"NG18",1762:"NG19",1763:"NG2",1764:"NG20",1765:"NG21",1766:"NG22",1767:"NG23",1768:"NG24",1769:"NG25",1770:"NG3",1771:"NG31",1772:"NG32",1773:"NG33",1774:"NG34",1775:"NG4",1776:"NG5",1777:"NG6",1778:"NG7",1780:"NG8",1781:"NG9",1782:"NG90",1783:"NN1",1784:"NN10",1785:"NN11",1786:"NN12",1787:"NN13",1788:"NN14",1789:"NN15",1790:"NN16",1791:"NN17",1792:"NN18",1793:"NN2",1794:"NN29",1795:"NN3",1796:"NN4",1797:"NN5",1798:"NN6",1799:"NN7",1800:"NN8",1801:"NN9",1802:"NP10",1803:"NP11",1804:"NP12",1805:"NP13",1806:"NP15",1807:"NP16",1808:"NP18",1809:"NP19",1810:"NP20",1811:"NP22",1812:"NP23",1813:"NP24",1814:"NP25",1815:"NP26",1816:"NP4",1817:"NP44",1818:"NP7",1819:"NP8",1820:"NR1",1821:"NR10",1822:"NR11",1823:"NR12",1824:"NR13",1825:"NR14",1826:"NR15",1827:"NR16",1828:"NR17",1829:"NR18",1830:"NR19",1831:"NR2",1832:"NR20",1833:"NR21",1834:"NR22",1835:"NR23",1836:"NR24",1837:"NR25",1838:"NR26",1839:"NR27",1840:"NR28",1841:"NR29",1842:"NR3",1843:"NR30",1844:"NR31",1845:"NR32",1846:"NR33",1847:"NR34",1848:"NR35",1849:"NR4",1850:"NR5",1851:"NR6",1852:"NR7",1853:"NR8",1854:"NR9",1855:"NW1",1856:"NW10",1857:"NW11",1858:"NW2",1859:"NW3",1860:"NW4",1861:"NW5",1862:"NW6",1863:"NW7",1864:"NW8",1865:"NW9",1866:"OL1",1867:"OL10",1868:"OL11",1869:"OL12",1870:"OL13",1871:"OL14",1872:"OL15",1873:"OL16",1874:"OL2",1875:"OL3",1876:"OL4",1877:"OL5",1878:"OL6",1879:"OL7",1880:"OL8",1881:"OL9",1882:"OL95",1883:"OX1",1884:"OX10",1885:"OX11",1886:"OX12",1887:"OX13",1888:"OX14",1889:"OX15",1890:"OX16",1891:"OX17",1892:"OX18",1893:"OX2",1894:"OX20",1895:"OX25",1896:"OX26",1897:"OX27",1898:"OX28",1899:"OX29",1900:"OX3",1901:"OX33",1902:"OX39",1903:"OX4",1904:"OX44",1905:"OX49",1906:"OX5",1907:"OX7",1908:"OX9",1909:"PA1",1910:"PA10",1911:"PA11",1912:"PA12",1913:"PA13",1914:"PA14",1915:"PA15",1916:"PA16",1917:"PA17",1918:"PA18",1919:"PA19",1920:"PA2",1921:"PA20",1922:"PA21",1923:"PA22",1924:"PA23",1925:"PA24",1926:"PA25",1927:"PA26",1928:"PA27",1929:"PA28",1930:"PA29",1931:"PA3",1932:"PA30",1933:"PA31",1934:"PA32",1935:"PA33",1936:"PA34",1937:"PA35",1938:"PA36",1939:"PA37",1940:"PA38",1941:"PA4",1942:"PA41",1943:"PA42",1944:"PA43",1945:"PA44",1946:"PA45",1947:"PA46",1948:"PA47",1949:"PA48",1950:"PA49",1951:"PA5",1952:"PA6",1953:"PA60",1954:"PA61",1955:"PA62",1956:"PA63",1957:"PA64",1958:"PA65",1959:"PA66",1960:"PA67",1961:"PA68",1962:"PA69",1963:"PA7",1964:"PA70",1965:"PA71",1966:"PA72",1967:"PA73",1968:"PA74",1969:"PA75",1970:"PA76",1971:"PA77",1972:"PA78",1973:"PA8",1974:"PA9",1975:"PE1",1976:"PE10",1977:"PE11",1978:"PE12",1979:"PE13",1980:"PE14",1981:"PE15",1982:"PE16",1983:"PE19",1984:"PE2",1985:"PE20",1986:"PE21",1987:"PE22",1988:"PE23",1989:"PE24",1990:"PE25",1991:"PE26",1992:"PE27",1993:"PE28",1994:"PE29",1995:"PE3",1996:"PE30",1997:"PE31",1998:"PE32",1999:"PE33",2000:"PE34",2001:"PE35",2002:"PE36",2003:"PE37",2004:"PE38",2005:"PE4",2006:"PE5",2007:"PE6",2008:"PE7",2009:"PE8",2010:"PE9",2011:"PH1",2012:"PH10",2013:"PH11",2014:"PH12",2015:"PH13",2016:"PH14",2017:"PH15",2018:"PH16",2019:"PH17",2020:"PH18",2021:"PH19",2022:"PH2",2023:"PH20",2024:"PH21",2025:"PH22",2026:"PH23",2027:"PH24",2028:"PH25",2029:"PH26",2030:"PH3",2031:"PH30",2032:"PH31",2033:"PH32",2034:"PH33",2035:"PH34",2036:"PH35",2037:"PH36",2038:"PH37",2039:"PH38",2040:"PH39",2041:"PH4",2042:"PH40",2043:"PH41",2044:"PH42",2045:"PH43",2046:"PH44",2047:"PH49",2048:"PH5",2049:"PH50",2050:"PH6",2051:"PH7",2052:"PH8",2053:"PH9",2054:"PL1",2055:"PL10",2056:"PL11",2057:"PL12",2058:"PL13",2059:"PL14",2060:"PL15",2061:"PL16",2062:"PL17",2063:"PL18",2064:"PL19",2065:"PL2",2066:"PL20",2067:"PL21",2068:"PL22",2069:"PL23",2070:"PL24",2071:"PL25",2072:"PL26",2073:"PL27",2074:"PL28",2075:"PL29",2076:"PL3",2077:"PL30",2078:"PL31",2079:"PL32",2080:"PL33",2081:"PL34",2082:"PL35",2083:"PL4",2084:"PL5",2085:"PL6",2086:"PL7",2087:"PL8",2088:"PL9",2089:"PL95",2090:"PO1",2091:"PO10",2092:"PO11",2093:"PO12",2094:"PO13",2095:"PO14",2096:"PO15",2097:"PO16",2098:"PO17",2099:"PO18",2100:"PO19",2101:"PO2",2102:"PO20",2103:"PO21",2104:"PO22",2105:"PO3",2106:"PO30",2107:"PO31",2108:"PO32",2109:"PO33",2110:"PO34",2111:"PO35",2112:"PO36",2113:"PO37",2114:"PO38",2115:"PO39",2116:"PO4",2117:"PO40",2118:"PO41",2119:"PO5",2120:"PO6",2121:"PO7",2122:"PO8",2123:"PO9",2124:"PR0",2125:"PR1",2126:"PR11",2127:"PR2",2128:"PR25",2129:"PR26",2130:"PR3",2131:"PR4",2132:"PR5",2133:"PR6",2134:"PR7",2135:"PR8",2136:"PR9",2137:"RG1",2138:"RG10",2139:"RG12",2140:"RG14",2141:"RG17",2142:"RG18",2143:"RG19",2144:"RG2",2145:"RG20",2146:"RG21",2147:"RG22",2148:"RG23",2149:"RG24",2150:"RG25",2151:"RG26",2152:"RG27",2153:"RG28",2154:"RG29",2155:"RG30",2156:"RG31",2157:"RG4",2158:"RG40",2159:"RG41",2160:"RG42",2161:"RG45",2162:"RG5",2163:"RG6",2164:"RG7",2165:"RG8",2166:"RG9",2167:"RH1",2168:"RH10",2169:"RH11",2170:"RH12",2171:"RH13",2172:"RH14",2173:"RH15",2174:"RH16",2175:"RH17",2176:"RH18",2177:"RH19",2178:"RH2",2179:"RH20",2180:"RH3",2181:"RH4",2182:"RH5",2183:"RH6",2184:"RH7",2185:"RH8",2186:"RH9",2187:"RM1",2188:"RM10",2189:"RM11",2190:"RM12",2191:"RM13",2192:"RM14",2193:"RM15",2194:"RM16",2195:"RM17",2196:"RM18",2197:"RM19",2198:"RM2",2199:"RM20",2200:"RM3",2201:"RM4",2202:"RM5",2204:"RM6",2205:"RM7",2206:"RM8",2207:"RM9",2208:"S1",2209:"S10",2210:"S11",2211:"S12",2212:"S13",2213:"S14",2214:"S17",2215:"S18",2216:"S2",2217:"S20",2218:"S21",2219:"S25",2220:"S26",2221:"S3",2222:"S32",2223:"S33",2224:"S35",2225:"S36",2226:"S4",2227:"S40",2228:"S41",2229:"S42",2230:"S43",2231:"S44",2232:"S45",2233:"S49",2234:"S5",2235:"S6",2236:"S60",2237:"S61",2238:"S62",2239:"S63",2240:"S64",2241:"S65",2242:"S66",2243:"S7",2244:"S70",2245:"S71",2246:"S72",2247:"S73",2248:"S74",2249:"S75",2250:"S8",2251:"S80",2252:"S81",2253:"S9",2254:"S96",2255:"S97",2256:"S98",2257:"SA1",2258:"SA10",2259:"SA11",2260:"SA12",2261:"SA13",2262:"SA14",2263:"SA15",2264:"SA16",2265:"SA17",2266:"SA18",2267:"SA19",2268:"SA2",2269:"SA20",2270:"SA3",2271:"SA31",2272:"SA32",2273:"SA33",2274:"SA34",2275:"SA35",2276:"SA36",2277:"SA37",2278:"SA38",2279:"SA39",2280:"SA4",2281:"SA40",2282:"SA41",2283:"SA42",2284:"SA43",2285:"SA44",2286:"SA45",2287:"SA46",2288:"SA47",2289:"SA48",2290:"SA5",2291:"SA6",2292:"SA61",2293:"SA62",2294:"SA63",2295:"SA64",2296:"SA65",2297:"SA66",2298:"SA67",2299:"SA68",2300:"SA69",2301:"SA7",2302:"SA70",2303:"SA71",2304:"SA72",2305:"SA73",2306:"SA8",2307:"SA9",2308:"SA99",2309:"SE1",2310:"SE10",2311:"SE11",2312:"SE12",2313:"SE13",2314:"SE14",2315:"SE15",2316:"SE16",2317:"SE17",2318:"SE18",2319:"SE19",2320:"SE2",2321:"SE20",2322:"SE21",2323:"SE22",2324:"SE23",2325:"SE24",2326:"SE25",2327:"SE26",2328:"SE27",2329:"SE28",2330:"SE3",2331:"SE4",2332:"SE5",2333:"SE6",2334:"SE7",2335:"SE8",2336:"SE9",2337:"SG1",2338:"SG10",2339:"SG11",2340:"SG12",2341:"SG13",2342:"SG14",2343:"SG15",2344:"SG16",2345:"SG17",2346:"SG18",2347:"SG19",2348:"SG2",2349:"SG3",2350:"SG4",2351:"SG5",2352:"SG6",2353:"SG7",2354:"SG8",2355:"SG9",2356:"SK1",2357:"SK10",2358:"SK11",2359:"SK12",2360:"SK13",2361:"SK14",2362:"SK15",2363:"SK16",2364:"SK17",2365:"SK2",2366:"SK22",2367:"SK23",2368:"SK3",2369:"SK4",2370:"SK5",2371:"SK6",2372:"SK7",2373:"SK8",2374:"SK9",2375:"SL0",2376:"SL1",2377:"SL2",2378:"SL3",2379:"SL4",2380:"SL5",2381:"SL6",2382:"SL7",2383:"SL8",2384:"SL9",2385:"SM1",2386:"SM2",2387:"SM3",2388:"SM4",2389:"SM5",2390:"SM6",2391:"SM7",2392:"SN1",2393:"SN10",2394:"SN11",2395:"SN12",2396:"SN13",2397:"SN14",2398:"SN15",2399:"SN16",2400:"SN2",2401:"SN25",2402:"SN26",2403:"SN3",2404:"SN38",2405:"SN4",2406:"SN5",2407:"SN6",2408:"SN7",2409:"SN8",2410:"SN9",2411:"SN99",2412:"SO14",2413:"SO15",2414:"SO16",2415:"SO17",2416:"SO18",2417:"SO19",2418:"SO20",2419:"SO21",2420:"SO22",2421:"SO23",2422:"SO24",2423:"SO30",2424:"SO31",2425:"SO32",2426:"SO40",2427:"SO41",2428:"SO42",2429:"SO43",2430:"SO45",2431:"SO50",2432:"SO51",2433:"SO52",2434:"SO53",2435:"SP1",2436:"SP10",2437:"SP11",2438:"SP2",2439:"SP3",2440:"SP4",2441:"SP5",2442:"SP6",2443:"SP7",2444:"SP8",2445:"SP9",2446:"SR1",2447:"SR2",2448:"SR3",2449:"SR4",2451:"SR5",2452:"SR6",2453:"SR7",2454:"SR8",2455:"SR9",2456:"SS0",2457:"SS1",2458:"SS11",2459:"SS12",2460:"SS13",2461:"SS14",2462:"SS15",2463:"SS16",2464:"SS17",2465:"SS2",2466:"SS22",2467:"SS3",2468:"SS4",2469:"SS5",2470:"SS6",2471:"SS7",2472:"SS8",2473:"SS9",2474:"SS99",2475:"ST1",2476:"ST10",2477:"ST11",2478:"ST12",2479:"ST13",2480:"ST14",2481:"ST15",2482:"ST16",2483:"ST17",2484:"ST18",2485:"ST19",2486:"ST2",2487:"ST20",2488:"ST21",2489:"ST3",2490:"ST4",2491:"ST5",2492:"ST6",2493:"ST7",2494:"ST8",2495:"ST9",2496:"SW10",2497:"SW11",2498:"SW12",2499:"SW13",2500:"SW14",2501:"SW15",2502:"SW16",2503:"SW17",2504:"SW18",2505:"SW19",2506:"SW1A",2507:"SW1E",2508:"SW1H",2509:"SW1P",2510:"SW1V",2511:"SW1W",2512:"SW1X",2513:"SW1Y",2514:"SW2",2515:"SW20",2516:"SW3",2517:"SW4",2518:"SW5",2519:"SW6",2520:"SW7",2521:"SW8",2522:"SW9",2523:"SW99",2524:"SY1",2525:"SY10",2526:"SY11",2527:"SY12",2528:"SY13",2529:"SY14",2530:"SY15",2531:"SY16",2532:"SY17",2533:"SY18",2534:"SY19",2535:"SY2",2536:"SY20",2537:"SY21",2538:"SY22",2539:"SY23",2540:"SY24",2541:"SY25",2542:"SY3",2543:"SY4",2544:"SY5",2545:"SY6",2546:"SY7",2547:"SY8",2548:"SY9",2549:"TA1",2550:"TA10",2551:"TA11",2552:"TA12",2553:"TA13",2554:"TA14",2555:"TA15",2556:"TA16",2557:"TA17",2558:"TA18",2559:"TA19",2560:"TA2",2561:"TA20",2562:"TA21",2563:"TA22",2564:"TA23",2565:"TA24",2566:"TA3",2567:"TA4",2568:"TA5",2569:"TA6",2570:"TA7",2571:"TA8",2572:"TA9",2573:"TD1",2574:"TD10",2575:"TD11",2576:"TD12",2577:"TD13",2578:"TD14",2579:"TD15",2580:"TD2",2581:"TD3",2582:"TD4",2583:"TD5",2584:"TD6",2585:"TD7",2586:"TD8",2587:"TD9",2588:"TF1",2589:"TF10",2590:"TF11",2591:"TF12",2592:"TF13",2593:"TF2",2594:"TF3",2595:"TF4",2596:"TF5",2597:"TF6",2598:"TF7",2599:"TF8",2600:"TF9",2601:"TN1",2602:"TN10",2603:"TN11",2604:"TN12",2605:"TN13",2606:"TN14",2607:"TN15",2608:"TN16",2609:"TN17",2610:"TN18",2611:"TN19",2612:"TN2",2613:"TN20",2614:"TN21",2615:"TN22",2616:"TN23",2617:"TN24",2618:"TN25",2619:"TN26",2620:"TN27",2621:"TN28",2622:"TN29",2623:"TN3",2624:"TN30",2625:"TN31",2626:"TN32",2627:"TN33",2628:"TN34",2629:"TN35",2630:"TN36",2631:"TN37",2632:"TN38",2633:"TN39",2634:"TN4",2635:"TN40",2636:"TN5",2637:"TN6",2638:"TN7",2639:"TN8",2640:"TN9",2641:"TQ1",2642:"TQ10",2643:"TQ11",2644:"TQ12",2645:"TQ13",2646:"TQ14",2647:"TQ2",2648:"TQ3",2649:"TQ4",2650:"TQ5",2651:"TQ6",2652:"TQ7",2653:"TQ8",2654:"TQ9",2655:"TR1",2656:"TR10",2657:"TR11",2658:"TR12",2659:"TR13",2660:"TR14",2661:"TR15",2662:"TR16",2663:"TR17",2664:"TR18",2665:"TR19",2666:"TR2",2667:"TR20",2668:"TR21",2669:"TR22",2670:"TR23",2671:"TR24",2672:"TR25",2673:"TR26",2674:"TR27",2675:"TR3",2676:"TR4",2677:"TR5",2678:"TR6",2679:"TR7",2680:"TR8",2681:"TR9",2682:"TR93",2683:"TS1",2684:"TS10",2685:"TS11",2686:"TS12",2687:"TS13",2688:"TS14",2689:"TS15",2690:"TS16",2691:"TS17",2692:"TS18",2693:"TS19",2694:"TS2",2695:"TS20",2696:"TS21",2697:"TS22",2698:"TS23",2699:"TS24",2700:"TS25",2701:"TS26",2702:"TS27",2703:"TS28",2704:"TS29",2705:"TS3",2706:"TS4",2707:"TS5",2708:"TS6",2709:"TS7",2710:"TS8",2711:"TS9",2713:"TW1",2714:"TW10",2715:"TW11",2716:"TW12",2717:"TW13",2718:"TW14",2719:"TW15",2720:"TW16",2721:"TW17",2722:"TW18",2723:"TW19",2724:"TW2",2725:"TW20",2726:"TW3",2727:"TW4",2728:"TW5",2729:"TW6",2730:"TW7",2731:"TW8",2732:"TW9",2733:"UB1",2734:"UB10",2735:"UB11",2736:"UB2",2737:"UB3",2738:"UB4",2739:"UB5",2740:"UB6",2741:"UB7",2742:"UB8",2743:"UB9",2744:"W10",2745:"W11",2746:"W12",2747:"W13",2748:"W14",2749:"W1A",2750:"W1B",2751:"W1C",2752:"W1D",2753:"W1F",2754:"W1G",2755:"W1H",2756:"W1J",2757:"W1K",2758:"W1S",2759:"W1T",2760:"W1U",2761:"W1W",2762:"W2",2763:"W3",2764:"W4",2765:"W5",2766:"W6",2767:"W7",2768:"W8",2769:"W9",2770:"WA1",2771:"WA10",2772:"WA11",2773:"WA12",2774:"WA13",2775:"WA14",2776:"WA15",2777:"WA16",2778:"WA2",2779:"WA3",2780:"WA4",2781:"WA5",2782:"WA55",2783:"WA6",2784:"WA7",2785:"WA8",2786:"WA88",2787:"WA9",2788:"WC1A",2789:"WC1B",2790:"WC1E",2791:"WC1H",2792:"WC1N",2793:"WC1R",2794:"WC1V",2795:"WC1X",2796:"WC2A",2797:"WC2B",2798:"WC2E",2799:"WC2H",2800:"WC2N",2801:"WC2R",2803:"WD17",2804:"WD18",2805:"WD19",2806:"WD23",2807:"WD24",2808:"WD25",2809:"WD3",2810:"WD4",2811:"WD5",2812:"WD6",2813:"WD7",2814:"WF1",2815:"WF10",2816:"WF11",2817:"WF12",2818:"WF13",2819:"WF14",2820:"WF15",2821:"WF16",2822:"WF17",2823:"WF2",2824:"WF3",2825:"WF4",2826:"WF5",2827:"WF6",2828:"WF7",2829:"WF8",2830:"WF9",2831:"WN1",2832:"WN2",2833:"WN3",2834:"WN4",2835:"WN5",2836:"WN6",2837:"WN7",2838:"WN8",2839:"WR1",2840:"WR10",2841:"WR11",2842:"WR12",2843:"WR13",2844:"WR14",2845:"WR15",2846:"WR2",2847:"WR3",2848:"WR4",2849:"WR5",2850:"WR6",2851:"WR7",2852:"WR78",2853:"WR8",2854:"WR9",2855:"WR99",2856:"WS1",2857:"WS10",2858:"WS11",2859:"WS12",2860:"WS13",2861:"WS14",2862:"WS15",2863:"WS2",2864:"WS3",2865:"WS4",2866:"WS5",2867:"WS6",2868:"WS7",2869:"WS8",2870:"WS9",2871:"WV1",2872:"WV10",2873:"WV11",2874:"WV12",2875:"WV13",2876:"WV14",2877:"WV15",2878:"WV16",2879:"WV2",2880:"WV3",2881:"WV4",2882:"WV5",2883:"WV6",2884:"WV7",2885:"WV8",2886:"WV9",2887:"YO1",2888:"YO10",2889:"YO11",2890:"YO12",2891:"YO13",2892:"YO14",2893:"YO15",2894:"YO16",2895:"YO17",2896:"YO18",2897:"YO19",2898:"YO21",2899:"YO22",2900:"YO23",2901:"YO24",2902:"YO25",2903:"YO26",2904:"YO30",2905:"YO31",2906:"YO32",2907:"YO41",2908:"YO42",2909:"YO43",2910:"YO51",2911:"YO60",2912:"YO61",2913:"YO62",2914:"YO7",2915:"YO8",2916:"YO90",2917:"YO91",2918:"YO95",2919:"ZE1",2920:"ZE2",2921:"ZE3",2922:"BN88",2923:"CM77",2925:"LE19",2926:"M50"}
#Dictionary of all UK outcodes with outcode as key and ID as value
OutCodeDict = dict((v,k) for k,v in Id2OutCodeDict.items() )
url= "http://www.rightmove.co.uk/"
if SorR == "S" : url = url + "property-for-sale/find.html?locationIdentifier=OUTCODE%5E"
else: url = url + "property-to-rent/find.html?locationIdentifier=OUTCODE%5E"
url = url + str(OutCodeDict[outcode])
if last != 0: url = url + "&maxDaysSinceAdded=" + str(last) + "&includeSSTC=false"
else: url = url + "&includeSSTC=false"
return url
def missingsampleoutcode():
# return the list of outcodes not in the sampled population yet
#######Fetch the data ##################
conn = lite.connect('RM_properties.sqlite')
cur = conn.cursor()
outf = pd.read_sql_query("SELECT DISTINCT postcode from Properties", conn)
conn.close()
#########################################
######## Missing postcodes ##############
#########################################
LondonOutCodeDict = {744:"E1",745:"E10",746:"E11",747:"E12",748:"E13",749:"E14",750:"E15",751:"E16",752:"E17",753:"E18",754:"E1W",755:"E2",756:"E3",757:"E4",758:"E5",759:"E6",760:"E7",761:"E77",762:"E8",763:"E9",764:"E98",765:"EC1A",766:"EC1M",767:"EC1N",768:"EC1P",769:"EC1R",770:"EC1V",771:"EC1Y",772:"EC2A",773:"EC2M",774:"EC2N",775:"EC2P",776:"EC2R",777:"EC2V",778:"EC2Y",779:"EC3A",780:"EC3M",781:"EC3N",782:"EC3P",783:"EC3R",784:"EC3V",785:"EC4A",786:"EC4M",787:"EC4N",788:"EC4P",789:"EC4R",790:"EC4V",791:"EC4Y",1666:"N1",1667:"N10",1668:"N11",1669:"N12",1670:"N13",1671:"N14",1672:"N15",1673:"N16",1674:"N17",1675:"N18",1676:"N19",1677:"N2",1678:"N20",1679:"N21",1680:"N22",1681:"N3",1682:"N4",1683:"N5",1684:"N6",1685:"N7",1686:"N8",1687:"N9",1855:"NW1",1856:"NW10",1857:"NW11",1858:"NW2",1859:"NW3",1860:"NW4",1861:"NW5",1862:"NW6",1863:"NW7",1864:"NW8",1865:"NW9",2309:"SE1",2310:"SE10",2311:"SE11",2312:"SE12",2313:"SE13",2314:"SE14",2315:"SE15",2316:"SE16",2317:"SE17",2318:"SE18",2319:"SE19",2320:"SE2",2321:"SE20",2322:"SE21",2323:"SE22",2324:"SE23",2325:"SE24",2326:"SE25",2327:"SE26",2328:"SE27",2329:"SE28",2330:"SE3",2331:"SE4",2332:"SE5",2333:"SE6",2334:"SE7",2335:"SE8",2336:"SE9",2496:"SW10",2497:"SW11",2498:"SW12",2499:"SW13",2500:"SW14",2501:"SW15",2502:"SW16",2503:"SW17",2504:"SW18",2505:"SW19",2506:"SW1A",2507:"SW1E",2508:"SW1H",2509:"SW1P",2510:"SW1V",2511:"SW1W",2512:"SW1X",2513:"SW1Y",2514:"SW2",2515:"SW20",2516:"SW3",2517:"SW4",2518:"SW5",2519:"SW6",2520:"SW7",2521:"SW8",2522:"SW9",2523:"SW99",2744:"W10",2745:"W11",2746:"W12",2747:"W13",2748:"W14",2749:"W1A",2750:"W1B",2751:"W1C",2752:"W1D",2753:"W1F",2754:"W1G",2755:"W1H",2756:"W1J",2757:"W1K",2758:"W1S",2759:"W1T",2760:"W1U",2761:"W1W",2762:"W2",2763:"W3",2764:"W4",2765:"W5",2766:"W6",2767:"W7",2768:"W8",2769:"W9",2788:"WC1A",2789:"WC1B",2790:"WC1E",2791:"WC1H",2792:"WC1N",2793:"WC1R",2794:"WC1V",2795:"WC1X",2796:"WC2A",2797:"WC2B",2798:"WC2E",2799:"WC2H",2800:"WC2N",2801:"WC2R"}
Loutcodes = list(LondonOutCodeDict.values())
missingC=[]
for c in Loutcodes:
if c not in outf['postcode'].values: missingC.append(c)
# return the list of outcodes not in the sampled population yet
return missingC
def word_count(str):
counts = dict()
words = str.split()
for word in words:
if word in counts:
counts[word] += 1
else:
counts[word] = 1
ordered = sorted((value,key) for (key,value) in counts.items())
return ordered