def write_data_jh_ts_filtered(): df = get_data() countries = ['Germany', 'Italy', 'Spain', 'China', 'US'] df = df[df['Country/Region'].isin(countries)] df = df.drop(columns=["Lat", "Long"]) filename = 'time_series_covid19_confirmed_filtered_countries.csv' upload_dataframe(df, filename) return df
def write_data_nrw(): filename1 = 'corona_mags_nrw_gesamt.csv' df1 = clear_data_nrw_gesamt() upload_dataframe(df1, filename1) filename = 'corona_mags_nrw.csv' df = clear_data() # Remove 'Gesamt' from DF df = df[df['Landkreis/ kreisfreie Stadt'] != 'Gesamt'] upload_dataframe( df, filename, change_notifcation=f'Mags-Daten aktualisiert') for studio, areas in studios.items(): df_studio = df[df['Landkreis/ kreisfreie Stadt'].isin(areas)] filename = f'corona_mags_nrw_{studio}.csv' upload_dataframe(df_studio, filename)
def write_data_rki_ndr_districts_nrw(): # Make compare function compare = make_df_compare_fn(ignore_columns=['Stand']) filename_gesamt = 'rki_ndr_districts_nrw_gesamt.csv' df_gesamt = clear_data_nrw_gesamt() upload_dataframe(df_gesamt, filename_gesamt, compare=compare) filename = 'rki_ndr_districts_nrw.csv' df = clear_data() # Remove 'Gesamt' from DF df = df[df['Landkreis/ kreisfreie Stadt'] != 'Gesamt'] upload_dataframe(df, filename, change_notification=f'RKI-Daten für NRW aktualisiert', compare=compare) for studio, areas in studios.items(): df_studio = df[df['Landkreis/ kreisfreie Stadt'].isin(areas)] filename_studio = f'rki_ndr_districts_nrw_{studio}.csv' upload_dataframe(df_studio, filename_studio, compare=compare)
def write_data_jh_global(): df = get_data() filename = 'covid19_confirmed_global.csv' upload_dataframe(df, filename)
def write_data_rki_ndr_districts(): df = clear_data() filename = 'rki_ndr_districts.csv' upload_dataframe(df, filename)
def write_data_rki(): filename = 'corona_rki.csv' df = get_data(url) print(df) upload_dataframe(df, filename)
def write_data_divi(): # Prep: Get new data df = clear_data() # Prep: Create filenames for all dfs fn_ger_map = 'intensivregister_karte_de.csv' fn_nrw_map = 'intensivregister_karte_nrw.csv' fn_ger_all = 'intensivregister_alle_heute.csv' fn_ger_all_archive = 'intensivregister_alle_archiv.csv' fn_ger_covid_archive = 'intensivregister_covid_archiv.csv' # Check if there is new data in divi csv # Use all unique values in "daten_stand"-column in case there are different dates dates_list = [ dt.datetime.strptime(date, '%Y-%m-%d %H:%M:%S').date() for date in df.daten_stand.unique() ] # use only latest date from all dates in divi file datenstand_divi = max(dates_list) # Get yesterdays date and compare today = dt.datetime.now(pytz.timezone('Europe/Berlin')).date() yesterday = today - dt.timedelta(days=1) # Update only if there is new data if (datenstand_divi > yesterday): # Germany: latlong + places + all numbers for current day df_ger_map = df # NRW: latlong + places + all numbers for current day df_nrw_map = df[df['bundesland'] == 'Nordrhein-Westfalen'] # Germany: summarize values for current day # Aggregate data to get totals for Germany df_ger_all_base = df.agg({ 'betten_belegt': 'sum', 'betten_frei': 'sum', 'betten_gesamt': 'sum', 'faelle_covid_aktuell': 'sum', 'faelle_covid_aktuell_invasiv_beatmet': 'sum' }) # Create dict as base for df in desired format ger_all_data = { 'Intensivbetten': [ 'Freie Betten', 'Patienten (nicht COVID-19)', 'COVID-19 Patienten (nicht beatmet)', 'COVID-19 Patienten (beatmet)' ], 'Anzahl': [ df_ger_all_base['betten_frei'], df_ger_all_base['betten_belegt'] - df_ger_all_base['faelle_covid_aktuell'], df_ger_all_base['faelle_covid_aktuell'] - df_ger_all_base['faelle_covid_aktuell_invasiv_beatmet'], df_ger_all_base['faelle_covid_aktuell_invasiv_beatmet'] ] } # Create df from dict df_ger_all = pd.DataFrame(data=ger_all_data) # Store same data plus current date as dict to append to archive ger_all_today = { 'X.1': today, 'Freie Betten': df_ger_all_base['betten_frei'], 'Patienten (nicht COVID-19)': df_ger_all_base['betten_belegt'] - df_ger_all_base['faelle_covid_aktuell'], 'COVID-19 Patienten (nicht beatmet)': df_ger_all_base['faelle_covid_aktuell'] - df_ger_all_base['faelle_covid_aktuell_invasiv_beatmet'], 'COVID-19 Patienten (beatmet)': df_ger_all_base['faelle_covid_aktuell_invasiv_beatmet'] } # Subset df with only Covid cases sum_ger_covid_today = { 'X.1': today, 'COVID-19 Patienten (nicht beatmet)': df_ger_all_base['faelle_covid_aktuell'] - df_ger_all_base['faelle_covid_aktuell_invasiv_beatmet'], 'COVID-19 Patienten (beatmet)': df_ger_all_base['faelle_covid_aktuell_invasiv_beatmet'] } # Fetch archived data and add current row # Filepath for archive with all columns fp_all_archive = str(yesterday) + "/" + fn_ger_all_archive df_ger_all_archive = pd.read_csv(download_file(fp_all_archive)) # Local testing: # df_ger_all_archive = pd.read_csv('data/divi_archive_all.csv') # Append today's data to archive df_ger_all_archive = df_ger_all_archive.append(ger_all_today, ignore_index=True) # Filepath for COVID columns only fp_covid_archive = str(yesterday) + "/" + fn_ger_covid_archive df_ger_covid_archive = pd.read_csv(download_file(fp_covid_archive)) # Local testing: # df_ger_covid_archive = pd.read_csv('data/divi_archive_covid.csv') # Append today's data to archive df_ger_covid_archive = df_ger_covid_archive.append(sum_ger_covid_today, ignore_index=True) # upload all dfs upload_dataframe(df_ger_map, fn_ger_map) upload_dataframe(df_nrw_map, fn_nrw_map) upload_dataframe(df_ger_all, fn_ger_all) upload_dataframe(df_ger_all_archive, fn_ger_all_archive) upload_dataframe(df_ger_covid_archive, fn_ger_covid_archive)
def write_data_example(): df = clear_data() filename = 'example.csv' upload_dataframe(df, filename)
def write_data_jh_ts_global(): df = get_data() filename = 'time_series_covid19_confirmed_global.csv' upload_dataframe(df, filename) return df
def write_data_rki_ndr_districts(): df = clear_data() filename = 'rki_ndr_districts.csv' compare = make_df_compare_fn(ignore_columns=['Stand']) upload_dataframe(df, filename, compare=compare)