diff --git a/masterscraper/__init__.py b/masterscraper/__init__.py index 73663c1..dde29e5 100644 --- a/masterscraper/__init__.py +++ b/masterscraper/__init__.py @@ -104,7 +104,16 @@ class scrape: # 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 @@ -162,105 +171,106 @@ class scrape: key_unit = [] for key in self.data_info[0]: - if( key.lower().find('percent') >=0 or - key.lower().find('perc') >=0 or - key.lower().find('%') >=0 ): + print(key) + if( key.find('percent') >=0 or + key.find('perc') >=0 or + key.find('%') >=0 ): key_unit.append('%') - elif( key.lower().find('dollar') >=0 or - key.lower().find('$') >=0 ): + elif( key.find('dollar') >=0 or + key.find('$') >=0 ): key_unit.append('$') - elif( key.lower().find('euro') >=0 or - key.lower().find('€') >=0 ): + elif( key.find('euro') >=0 or + key.find('€') >=0 ): key_unit.append('€') - elif( key.lower().find('area') >=0 or - key.lower().find('land') >=0 or - key.lower().find('km2') >=0 or - key.lower().find('km²') >=0 or - key.lower().find('mi2') >=0 or - key.lower().find('mi²') >=0 or - key.lower().find('ha') >=0 or - key.lower().find('hectares') >=0 ): + elif( key.find('area') >=0 or + key.find('land') >=0 or + key.find('km2') >=0 or + key.find('km²') >=0 or + key.find('mi2') >=0 or + key.find('mi²') >=0 or + key.find('ha') >=0 or + key.find('hectares') >=0 ): key_unit.append('km²') - elif( key.lower().find('country') >=0 or - key.lower().find('countries') >=0 or - key.lower().find('dependencies') >=0 ): + elif( key.find('country') >=0 or + key.find('countries') >=0 or + key.find('dependencies') >=0 ): key_unit.append('countries') - elif( key.lower().find('index') >=0 or - key.lower().find('score') >=0 or - key.lower().find('report') >=0 ): + elif( key.find('index') >=0 or + key.find('score') >=0 or + key.find('report') >=0 ): key_unit.append('index') - elif( key.lower().find('population') >=0 and - key.lower().find('density') <0 and - key.lower().find('access') <0 and - key.lower().find('crime') <0 and - key.lower().find('murder') <0 ): + elif( key.find('population') >=0 and + key.find('density') <0 and + key.find('access') <0 and + key.find('crime') <0 and + key.find('murder') <0 ): key_unit.append('people') - elif( key.lower().find('population') >=0 and - key.lower().find('density') >=0 ): + elif( key.find('population') >=0 and + key.find('density') >=0 ): key_unit.append('people/km²') - elif( (key.lower().find('death') >=0 or - key.lower().find('mortality') >=0) and - key.lower().find('rate') >=0 and - key.lower().find('infant') <0 and - key.lower().find('maternal') <0 ): + elif( (key.find('death') >=0 or + key.find('mortality') >=0) and + key.find('rate') >=0 and + key.find('infant') <0 and + key.find('maternal') <0 ): key_unit.append('deaths/1k population') - elif( key.lower().find('mortality') >=0 and - key.lower().find('rate') >=0 and - key.lower().find('infant') >=0 ): + elif( key.find('mortality') >=0 and + key.find('rate') >=0 and + key.find('infant') >=0 ): key_unit.append('deaths/1k live births') - elif( key.lower().find('mortality') >=0 and - key.lower().find('rate') >=0 and - key.lower().find('maternal') >=0 ): + elif( key.find('mortality') >=0 and + key.find('rate') >=0 and + key.find('maternal') >=0 ): key_unit.append('deaths/100k live births') - elif( key.lower().find('suicide') >=0 and - key.lower().find('rate') >=0 ): + elif( key.find('suicide') >=0 and + key.find('rate') >=0 ): key_unit.append('deaths/100k population') - elif( key.lower().find('birth') >=0 and - key.lower().find('rate') >=0 ): + elif( key.find('birth') >=0 and + key.find('rate') >=0 ): key_unit.append('births/1k population') - elif( key.lower().find('fertility') >=0 and - key.lower().find('rate') >=0 ): + elif( key.find('fertility') >=0 and + key.find('rate') >=0 ): key_unit.append('children/women') - elif( key.lower().find('marriage') >=0 and - key.lower().find('rate') >=0 ): + elif( key.find('marriage') >=0 and + key.find('rate') >=0 ): key_unit.append('marriages/1k population') - elif( key.lower().find('divorce') >=0 and - key.lower().find('rate') >=0 ): + elif( key.find('divorce') >=0 and + key.find('rate') >=0 ): key_unit.append('divorces/1k population') - elif( key.lower().find('crime') >=0 and - key.lower().find('rate') >=0 ): + elif( key.find('crime') >=0 and + key.find('rate') >=0 ): key_unit.append('crimes/100k population') - elif( key.lower().find('murder') >=0 and - key.lower().find('rate') >=0 ): + elif( key.find('murder') >=0 and + key.find('rate') >=0 ): key_unit.append('murders/100k population') - elif( key.lower().find('military') >=0 and - key.lower().find('size') >=0 ): + elif( key.find('military') >=0 and + key.find('size') >=0 ): key_unit.append('personel') - elif( key.lower().find('immigration') >=0 or - key.lower().find('migration') >=0 or - key.lower().find('refugee') >=0 ): + elif( key.find('immigration') >=0 or + key.find('migration') >=0 or + key.find('refugee') >=0 ): key_unit.append('people') - elif( key.lower().find('emissions') >=0 ): + elif( key.find('emissions') >=0 ): key_unit.append('tonnes') else: @@ -271,19 +281,23 @@ class scrape: key_multiplyer = [] 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 ) - 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) - elif( key.lower().find('millions of') >=0 ): + elif( key.find('millions of') >=0 ): key_multiplyer.append(1000000) - elif( key.lower().find('bilions of') >=0 ): + elif( key.find('bilions of') >=0 ): 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) - elif( key.lower().find('hectare') >=0 ): + elif( key.find('hectare') >=0 ): key_multiplyer.append(0.01) else: @@ -293,7 +307,7 @@ class scrape: # Get Variable Year key_year = [] - for key in self.data_info[0]: + for key in self.data[0]: if re.match('\d\d\d\d', key): key_year.append( key ) elif 'year' in self.data_info[1]: