From 52fe0a0b9d3328764b8b8e5ca54ca6dff216c769 Mon Sep 17 00:00:00 2001 From: frankknoll Date: Wed, 14 Dec 2022 22:18:10 +0100 Subject: [PATCH] refactoring --- src/intensivstationen/Intensivstationen.ipynb | 30 ++----------------- src/intensivstationen/KreiseReader.py | 22 ++++++++++++++ 2 files changed, 24 insertions(+), 28 deletions(-) create mode 100644 src/intensivstationen/KreiseReader.py diff --git a/src/intensivstationen/Intensivstationen.ipynb b/src/intensivstationen/Intensivstationen.ipynb index 1a78e927d00..cd9020fedf3 100644 --- a/src/intensivstationen/Intensivstationen.ipynb +++ b/src/intensivstationen/Intensivstationen.ipynb @@ -35,6 +35,8 @@ "from MedianOfFreeBedsByKreisTableFactory import MedianOfFreeBedsByKreisTableFactory\n", "from TimeseriesReader import readTimeseries\n", "from IntensivstationenHtmlFileUpdater import saveLastUpdatedIntensivstationen, saveKreisOptions\n", + "from KreiseReader import readKreise\n", + "\n", "\n", "pd.set_option('display.max_rows', 100)\n", "pd.set_option('display.max_columns', None)\n", @@ -86,34 +88,6 @@ "timeSeries" ] }, - { - "cell_type": "code", - "execution_count": null, - "id": "2d34c6a4", - "metadata": {}, - "outputs": [], - "source": [ - "def readKreise(download = False):\n", - " kreiseFile = '04-kreise.xlsx'\n", - " if download:\n", - " _downloadKreise(kreiseFile)\n", - " \n", - " kreise = pd.read_excel(\n", - " kreiseFile,\n", - " sheet_name = 'Kreisfreie Städte u. Landkreise',\n", - " header = 5,\n", - " index_col = 0)\n", - " kreise = kreise.rename(columns = {'2': 'Bundesland', 3: 'Kreis', 6: 'Einwohnerzahl'})[['Bundesland', 'Kreis', 'Einwohnerzahl']]\n", - " kreise.index.set_names(\"Key\", inplace = True)\n", - " return kreise\n", - "\n", - "# download https://www.destatis.de/DE/Themen/Laender-Regionen/Regionales/Gemeindeverzeichnis/Administrativ/04-kreise.xlsx?__blob=publicationFile or https://www.destatis.de/DE/Themen/Laender-Regionen/Regionales/Gemeindeverzeichnis/Administrativ/04-kreise.html\n", - "def _downloadKreise(kreiseFile):\n", - " request.urlretrieve(\n", - " 'https://www.destatis.de/DE/Themen/Laender-Regionen/Regionales/Gemeindeverzeichnis/Administrativ/04-kreise.xlsx?__blob=publicationFile',\n", - " kreiseFile)\n" - ] - }, { "cell_type": "code", "execution_count": null, diff --git a/src/intensivstationen/KreiseReader.py b/src/intensivstationen/KreiseReader.py new file mode 100644 index 00000000000..c33e3db9496 --- /dev/null +++ b/src/intensivstationen/KreiseReader.py @@ -0,0 +1,22 @@ +import pandas as pd +from urllib import request + +def readKreise(download = False): + kreiseFile = '04-kreise.xlsx' + if download: + _downloadKreise(kreiseFile) + + kreise = pd.read_excel( + kreiseFile, + sheet_name = 'Kreisfreie Städte u. Landkreise', + header = 5, + index_col = 0) + kreise = kreise.rename(columns = {'2': 'Bundesland', 3: 'Kreis', 6: 'Einwohnerzahl'})[['Bundesland', 'Kreis', 'Einwohnerzahl']] + kreise.index.set_names("Key", inplace = True) + return kreise + +# download https://www.destatis.de/DE/Themen/Laender-Regionen/Regionales/Gemeindeverzeichnis/Administrativ/04-kreise.xlsx?__blob=publicationFile or https://www.destatis.de/DE/Themen/Laender-Regionen/Regionales/Gemeindeverzeichnis/Administrativ/04-kreise.html +def _downloadKreise(kreiseFile): + request.urlretrieve( + 'https://www.destatis.de/DE/Themen/Laender-Regionen/Regionales/Gemeindeverzeichnis/Administrativ/04-kreise.xlsx?__blob=publicationFile', + kreiseFile)