def get_keys_address(filename): address_dict = {} for event, elem in ET.iterparse(filename): if elem.tag in ['node', 'way']: for tag in elem.findall('tag'): k = tag.attrib['k'] if 'addr' in k: sum_to_dict(address_dict, k) pprint.pprint(address_dict) return address_dict.keys()
def type_of_street_dict(filename): types = {} kalea = re.compile(r'(k|K)alea$') for event, elem in ET.iterparse(filename): if elem.tag in ['node', 'way']: for tag in elem.findall('tag'): k = tag.attrib['k'] v = tag.attrib['v'] if k == 'addr:street': if kalea.search(v): sum_to_dict(types, v.split()[-1]) else: sum_to_dict(types, v.split()[0]) print types pprint.pprint(types) return list(types.keys())