Better money multiplyer detection

This commit is contained in:
colttaine 2023-03-06 11:38:11 +11:00
parent 05654beea7
commit 30daf0e1ee

View file

@ -104,7 +104,16 @@ class scrape:
# Get Key Names Search Spaces # Get Key Names Search Spaces
self.data_info.append( [self.meta['name']+' '+key for key in self.data[0]] ) #self.data_info.append( [key for key in self.data[0]])
key_search = []
for i in range(0, len(self.data[0])):
key_search.append(
self.meta['name'].lower() + ' ' +
self.data[0][i].lower() + ' ' +
self.data[1][i].lower()
)
self.data_info.append( key_search )
# Process Variable Key Names # Process Variable Key Names
@ -162,105 +171,106 @@ class scrape:
key_unit = [] key_unit = []
for key in self.data_info[0]: for key in self.data_info[0]:
if( key.lower().find('percent') >=0 or print(key)
key.lower().find('perc') >=0 or if( key.find('percent') >=0 or
key.lower().find('%') >=0 ): key.find('perc') >=0 or
key.find('%') >=0 ):
key_unit.append('%') key_unit.append('%')
elif( key.lower().find('dollar') >=0 or elif( key.find('dollar') >=0 or
key.lower().find('$') >=0 ): key.find('$') >=0 ):
key_unit.append('$') key_unit.append('$')
elif( key.lower().find('euro') >=0 or elif( key.find('euro') >=0 or
key.lower().find('') >=0 ): key.find('') >=0 ):
key_unit.append('') key_unit.append('')
elif( key.lower().find('area') >=0 or elif( key.find('area') >=0 or
key.lower().find('land') >=0 or key.find('land') >=0 or
key.lower().find('km2') >=0 or key.find('km2') >=0 or
key.lower().find('km²') >=0 or key.find('km²') >=0 or
key.lower().find('mi2') >=0 or key.find('mi2') >=0 or
key.lower().find('mi²') >=0 or key.find('mi²') >=0 or
key.lower().find('ha') >=0 or key.find('ha') >=0 or
key.lower().find('hectares') >=0 ): key.find('hectares') >=0 ):
key_unit.append('km²') key_unit.append('km²')
elif( key.lower().find('country') >=0 or elif( key.find('country') >=0 or
key.lower().find('countries') >=0 or key.find('countries') >=0 or
key.lower().find('dependencies') >=0 ): key.find('dependencies') >=0 ):
key_unit.append('countries') key_unit.append('countries')
elif( key.lower().find('index') >=0 or elif( key.find('index') >=0 or
key.lower().find('score') >=0 or key.find('score') >=0 or
key.lower().find('report') >=0 ): key.find('report') >=0 ):
key_unit.append('index') key_unit.append('index')
elif( key.lower().find('population') >=0 and elif( key.find('population') >=0 and
key.lower().find('density') <0 and key.find('density') <0 and
key.lower().find('access') <0 and key.find('access') <0 and
key.lower().find('crime') <0 and key.find('crime') <0 and
key.lower().find('murder') <0 ): key.find('murder') <0 ):
key_unit.append('people') key_unit.append('people')
elif( key.lower().find('population') >=0 and elif( key.find('population') >=0 and
key.lower().find('density') >=0 ): key.find('density') >=0 ):
key_unit.append('people/km²') key_unit.append('people/km²')
elif( (key.lower().find('death') >=0 or elif( (key.find('death') >=0 or
key.lower().find('mortality') >=0) and key.find('mortality') >=0) and
key.lower().find('rate') >=0 and key.find('rate') >=0 and
key.lower().find('infant') <0 and key.find('infant') <0 and
key.lower().find('maternal') <0 ): key.find('maternal') <0 ):
key_unit.append('deaths/1k population') key_unit.append('deaths/1k population')
elif( key.lower().find('mortality') >=0 and elif( key.find('mortality') >=0 and
key.lower().find('rate') >=0 and key.find('rate') >=0 and
key.lower().find('infant') >=0 ): key.find('infant') >=0 ):
key_unit.append('deaths/1k live births') key_unit.append('deaths/1k live births')
elif( key.lower().find('mortality') >=0 and elif( key.find('mortality') >=0 and
key.lower().find('rate') >=0 and key.find('rate') >=0 and
key.lower().find('maternal') >=0 ): key.find('maternal') >=0 ):
key_unit.append('deaths/100k live births') key_unit.append('deaths/100k live births')
elif( key.lower().find('suicide') >=0 and elif( key.find('suicide') >=0 and
key.lower().find('rate') >=0 ): key.find('rate') >=0 ):
key_unit.append('deaths/100k population') key_unit.append('deaths/100k population')
elif( key.lower().find('birth') >=0 and elif( key.find('birth') >=0 and
key.lower().find('rate') >=0 ): key.find('rate') >=0 ):
key_unit.append('births/1k population') key_unit.append('births/1k population')
elif( key.lower().find('fertility') >=0 and elif( key.find('fertility') >=0 and
key.lower().find('rate') >=0 ): key.find('rate') >=0 ):
key_unit.append('children/women') key_unit.append('children/women')
elif( key.lower().find('marriage') >=0 and elif( key.find('marriage') >=0 and
key.lower().find('rate') >=0 ): key.find('rate') >=0 ):
key_unit.append('marriages/1k population') key_unit.append('marriages/1k population')
elif( key.lower().find('divorce') >=0 and elif( key.find('divorce') >=0 and
key.lower().find('rate') >=0 ): key.find('rate') >=0 ):
key_unit.append('divorces/1k population') key_unit.append('divorces/1k population')
elif( key.lower().find('crime') >=0 and elif( key.find('crime') >=0 and
key.lower().find('rate') >=0 ): key.find('rate') >=0 ):
key_unit.append('crimes/100k population') key_unit.append('crimes/100k population')
elif( key.lower().find('murder') >=0 and elif( key.find('murder') >=0 and
key.lower().find('rate') >=0 ): key.find('rate') >=0 ):
key_unit.append('murders/100k population') key_unit.append('murders/100k population')
elif( key.lower().find('military') >=0 and elif( key.find('military') >=0 and
key.lower().find('size') >=0 ): key.find('size') >=0 ):
key_unit.append('personel') key_unit.append('personel')
elif( key.lower().find('immigration') >=0 or elif( key.find('immigration') >=0 or
key.lower().find('migration') >=0 or key.find('migration') >=0 or
key.lower().find('refugee') >=0 ): key.find('refugee') >=0 ):
key_unit.append('people') key_unit.append('people')
elif( key.lower().find('emissions') >=0 ): elif( key.find('emissions') >=0 ):
key_unit.append('tonnes') key_unit.append('tonnes')
else: else:
@ -271,19 +281,23 @@ class scrape:
key_multiplyer = [] key_multiplyer = []
for key in self.data_info[0]: for key in self.data_info[0]:
if( key.lower().find('%') >=0 or key.lower().find('percent') >=0 ): if( key.find('%') >=0 or key.find('percent') >=0 ):
key_multiplyer.append( 0.01 ) key_multiplyer.append( 0.01 )
elif( key.lower().find('thousands of') >=0 ): elif( re.search('\$.*k', key) ): key_multiplyer.append(1000)
elif( re.search('\$.*m', key) ): key_multiplyer.append(1000000)
elif( re.search('\$.*b', key) ): key_multiplyer.append(1000000000)
elif( key.find('thousands of') >=0 ):
key_multiplyer.append(1000) key_multiplyer.append(1000)
elif( key.lower().find('millions of') >=0 ): elif( key.find('millions of') >=0 ):
key_multiplyer.append(1000000) key_multiplyer.append(1000000)
elif( key.lower().find('bilions of') >=0 ): elif( key.find('bilions of') >=0 ):
key_multiplyer.append(1000000000) key_multiplyer.append(1000000000)
elif( key.lower().find('mi2') >=0 or key.lower().find('mi²') >=0 ): elif( key.find('mi2') >=0 or key.find('mi²') >=0 ):
key_multiplyer.append(2.59) key_multiplyer.append(2.59)
elif( key.lower().find('hectare') >=0 ): elif( key.find('hectare') >=0 ):
key_multiplyer.append(0.01) key_multiplyer.append(0.01)
else: else:
@ -293,7 +307,7 @@ class scrape:
# Get Variable Year # Get Variable Year
key_year = [] key_year = []
for key in self.data_info[0]: for key in self.data[0]:
if re.match('\d\d\d\d', key): if re.match('\d\d\d\d', key):
key_year.append( key ) key_year.append( key )
elif 'year' in self.data_info[1]: elif 'year' in self.data_info[1]: