Files
HowBadIsMyBatch/src/intensivstationen/TimeseriesReader.py
frankknoll b4bb79efdf refactoring
2022-12-14 23:45:55 +01:00

33 lines
1.3 KiB
Python

import pandas as pd
from urllib import request
from ColumnsAdder import ColumnsAdder
from KreiseReader import readKreise
def readTimeseries(download = False):
timeSeries = _readTimeseries(download = download)
timeSeries = ColumnsAdder(readKreise()).addKreisAndBundeslandAndEinwohnerzahlColumns(timeSeries)
return timeSeries
def _readTimeseries(download = False):
timeSeriesFile = 'zeitreihe-tagesdaten.csv'
if download:
_downloadTimeseries(timeSeriesFile)
timeseries = pd.read_csv(
timeSeriesFile,
low_memory = False,
usecols = ['date', 'bundesland', 'gemeindeschluessel', 'betten_belegt', 'betten_frei'],
parse_dates = ['date'],
date_parser = lambda dateStr: pd.to_datetime(dateStr, format = "%Y-%m-%d"),
dtype = {
'gemeindeschluessel': 'string',
'bundesland': 'string'
})
return timeseries.sort_values(by = 'date', ascending = True)
# download https://diviexchange.blob.core.windows.net/%24web/zeitreihe-tagesdaten.csv or https://www.intensivregister.de/#/aktuelle-lage/downloads
def _downloadTimeseries(timeSeriesFile):
request.urlretrieve(
'https://diviexchange.blob.core.windows.net/%24web/zeitreihe-tagesdaten.csv',
timeSeriesFile)