def get_data(area_level, variable, universe_filter=None, redownload=False): path = get_data_path(area_level, variable, "censo", universe_filter) if not os.path.isfile(path) or redownload: query = pyredatam.arealist_query(area_level, variable, {"PROV": "02"}, universe_filter=universe_filter) df = cpv2010arg.make_arealist_query(query) if "Código" in df.columns: df = replace_index(df, AREAS_LENIDS[area_level]) df.to_csv(path, encoding="utf-8") else: df = pd.read_csv(path, encoding="utf-8") if "Código" in df.columns: df = replace_index(df, AREAS_LENIDS[area_level]) return df
def get_data_from_query(area_level, query, redownload=False): path = get_data_path(area_level, "query", "censo", unicode(hash(query))) if not os.path.isfile(path) or redownload: html = pyredatam.cpv2010arg.make_query(query) df = pd.read_html(html, header=1, thousands=".")[0].dropna() if "Código" in df.columns: df = replace_index(df, AREAS_LENIDS[area_level]) df.to_csv(path, encoding="utf-8") else: df = pd.read_csv(path, encoding="utf-8") if "Código" in df.columns: df = replace_index(df, AREAS_LENIDS[area_level]) return df