Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import argentina_api
- import santa_fe_api
- import pandas as pd
- import numpy as np
- import os
- import time
- from common import *
- import pprint
- GITHUB_URL = 'https://github.com/mariano22/argcovidapi'
- def format_date(date):
- if date.count('/')==1:
- date+='/2020'
- t = time.strptime(date, "%d/%m/%Y")
- return time.strftime("%Y-%m-%d", t)
- def get_prev_factory(df):
- cols = list(df.columns)
- col_idx = { cols[idx]: idx for idx in range(len(cols)) }
- prev_day = { c: cols[col_idx[c]-1] for c in cols[1:] }
- def get_prev(r, date):
- return r[date] - (0 if date not in prev_day else r[prev_day[date]])
- return get_prev
- def province_iterator(apiarg):
- """ Iterator of stats struct formated as API requires of Argentinian provinces. """
- get_prev = get_prev_factory(apiarg.df_provinces)
- for date in apiarg.df_provinces.columns:
- for province_name in apiarg.provinces:
- r_confirmados = apiarg.df_provinces.loc['CONFIRMADOS'].loc[province_name]
- r_muertos = apiarg.df_provinces.loc['MUERTOS'].loc[province_name]
- r_recuperados = apiarg.df_provinces.loc['RECUPERADOS'].loc[province_name]
- entry = { "fecha": format_date(date),
- "provincia": province_name.title(),
- # "ciudad": "",
- # "departamento": "",
- # "zona": "",
- "confirmados_total": r_confirmados[date],
- "confirmados_dif": get_prev(r_confirmados,date),
- "muertes_total": r_muertos[date],
- "muertes_dif": get_prev(r_muertos,date),
- "recuperados_total": r_recuperados[date],
- "recuperados_dif": get_prev(r_recuperados,date),
- "url": GITHUB_URL
- }
- yield entry
- def santafe_departments_iterator(apisafe):
- """ Iterator of stats struct formated as API requires of Santa Fe departments. """
- get_prev = get_prev_factory(apisafe.df_confirmados)
- for date in apisafe.df_confirmados.columns:
- for department in apisafe.departments:
- r_confirmados = apisafe.df_confirmados.loc[department]
- entry = { "fecha": format_date(date),
- "provincia": "Santa Fe",
- # "ciudad": "",
- "departamento": department[2:].title(),
- "zona": "Litoral",
- "confirmados_total": r_confirmados[date],
- "confirmados_dif": get_prev(r_confirmados,date),
- # "muertes_total": ,
- # "muertes_dif": ,
- # "recuperados_total": ,
- # "recuperados_dif": ,
- "url": GITHUB_URL
- }
- yield entry
- def santafe_cities_iterator(apisafe):
- """ Iterator of stats struct formated as API requires of Santa Fe cities. """
- get_prev = get_prev_factory(apisafe.df_confirmados)
- for date in apisafe.df_confirmados.columns:
- for city in apisafe.cities:
- r_confirmados = apisafe.df_confirmados.loc[city]
- entry = { "fecha": format_date(date),
- "provincia": "Santa Fe",
- "ciudad": city.title(),
- "departamento": apisafe.to_department[city][2:].title(),
- "zona": "Litoral",
- "confirmados_total": r_confirmados[date],
- "confirmados_dif": get_prev(r_confirmados,date),
- # "muertes_total": ,
- # "muertes_dif": ,
- # "recuperados_total": ,
- # "recuperados_dif": ,
- "url": GITHUB_URL
- }
- yield entry
- if __name__ == '__main__':
- apiarg = argentina_api.ArgentinaAPI('./')
- apisafe = santa_fe_api.SantaFeAPI('./')
- provinces_to_api = list(province_iterator(apiarg))
- print('Provinces to API:')
- print('=================')
- pprint.pprint(provinces_to_api[:5])
- print('...')
- pprint.pprint(provinces_to_api[-5:])
- print('')
- departments_to_api = list(santafe_departments_iterator(apisafe))
- print('Santa Fe\'s departments to API:')
- print('===============================')
- pprint.pprint(departments_to_api[:5])
- print('...')
- pprint.pprint(departments_to_api[-5:])
- print('')
- cities_to_api = list(santafe_cities_iterator(apisafe))
- print('Santa Fe\'s cities to API:')
- print('==========================')
- pprint.pprint(cities_to_api[:5])
- print('...')
- pprint.pprint(cities_to_api[-5:])
- print('')
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement