{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "## Diarie Linköpings kommun\n", "* Denna [Jupyter Notebook](https://github.com/salgo60/open-data-examples/blob/master/Diarie%20Link%C3%B6pings%20kommun.ipynb)\n", "\n", "* om [ärenden Linköping](https://www.linkoping.se/open/data/arende/)\n", "\n", "OBS unik nyckel måste begäras se [open](https://www.linkoping.se/open/)\n", "\n", "GITHUB [open-data-examples](https://github.com/salgo60/open-data-examples) \n" ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "'http://arendedata.linkoping.se/api/v1/Cases?maxItemsInResult=1000&api_key=e4628c0b272a454f855ec3784b7b61a0'" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from IPython.display import JSON\n", "import requests\n", "import json\n", "key = \"e4628c0b272a454f855ec3784b7b61a0\"\n", "baseUrl = \"http://arendedata.linkoping.se/api/v1/\"\n", "endpoint = \"Cases?maxItemsInResult=1000&api_key=\"\n", "headers = {'content-type': 'application/json'}\n", "url = baseUrl + endpoint + key\n", "url\n" ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "req = requests.get(url,headers=headers)\n", "data = json.loads(req.text)\n", "import pandas as pd\n", "df = pd.DataFrame(data)\n", "df.head(n=40) \n", "req" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline \n" ] }, { "cell_type": "code", "execution_count": 5, "metadata": { "scrolled": true }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n", "RangeIndex: 1000 entries, 0 to 999\n", "Data columns (total 6 columns):\n", " # Column Non-Null Count Dtype \n", "--- ------ -------------- ----- \n", " 0 caseNumber 1000 non-null object\n", " 1 subject 1000 non-null object\n", " 2 registeredDate 1000 non-null object\n", " 3 closedDate 109 non-null object\n", " 4 diary 1000 non-null object\n", " 5 hasEvents 1000 non-null bool \n", "dtypes: bool(1), object(5)\n", "memory usage: 40.2+ KB\n" ] } ], "source": [ "df.info()" ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
caseNumbersubjectregisteredDateclosedDatediaryhasEvents
0SON 2021-779Statlig ersättning för försörjningsstöd för en...2021-06-24T14:05:00NoneSON 2021True
1KOF 2021-160Friidrottshallen från och med 20212021-06-24T14:02:00NoneKOF 2021False
2SON 2021-778Sätt stopp för bidragsfusk i välfärd svar på m...2021-06-24T13:49:00NoneSON 2021True
3SON 2021-777Stoppa dem som skor sig på vård välfärd svar p...2021-06-24T13:43:00NoneSON 2021True
4BOU 2021-591--- Sekretess ---2021-06-24T13:34:32.083NoneBOU 2021True
5BOU 2021-590--- Sekretess ---2021-06-24T13:26:35.47NoneBOU 2021True
6BIN 2021-450--- Sekretess ---2021-06-24T13:14:29.53NoneBIN 2021True
7BIN 2021-449--- Sekretess ---2021-06-24T13:11:58.07NoneBIN 2021True
8KS 2021-560Förslag till lokal utvecklingsstrategi2021-06-24T12:52:00NoneKS 2021True
9BIN 2021-448--- Sekretess ---2021-06-24T12:14:19.57NoneBIN 2021True
10BMN 2021-79Remiss: Förslag till föreskrifter om bekämpnin...2021-06-24T11:33:19.37NoneBMN 2021True
11SON 2021-776Upphandling av bankkort2021-06-24T11:27:00NoneSON 2021True
12VN 2021-41Jämställdhetsbokslut för 2019 och 20202021-06-24T10:51:00NoneVN 2021True
13VN 2021-42Uppföljningen av måluppfyllelse för 2018 för m...2021-06-24T10:51:00NoneVN 2021True
14VN 2021-40Barnbokslut 2019 och 20202021-06-24T10:50:00NoneVN 2021True
15VN 2021-39Energi- och klimatbokslut verksamhetsåret 20192021-06-24T10:48:00NoneVN 2021True
16VN 2021-38Riktlinje för IT-styrning2021-06-24T10:46:00NoneVN 2021True
17VN 2021-37Reklam inför valet2021-06-24T10:44:00NoneVN 2021True
18SON 2021-775Avropsavtal för handledningstjänster IFO BoU u...2021-06-24T10:03:00NoneSON 2021True
19SBN 2021-661Kontrakt Hanorpsvägen2021-06-24T09:21:00NoneSBN 2021True
\n", "
" ], "text/plain": [ " caseNumber subject \\\n", "0 SON 2021-779 Statlig ersättning för försörjningsstöd för en... \n", "1 KOF 2021-160 Friidrottshallen från och med 2021 \n", "2 SON 2021-778 Sätt stopp för bidragsfusk i välfärd svar på m... \n", "3 SON 2021-777 Stoppa dem som skor sig på vård välfärd svar p... \n", "4 BOU 2021-591 --- Sekretess --- \n", "5 BOU 2021-590 --- Sekretess --- \n", "6 BIN 2021-450 --- Sekretess --- \n", "7 BIN 2021-449 --- Sekretess --- \n", "8 KS 2021-560 Förslag till lokal utvecklingsstrategi \n", "9 BIN 2021-448 --- Sekretess --- \n", "10 BMN 2021-79 Remiss: Förslag till föreskrifter om bekämpnin... \n", "11 SON 2021-776 Upphandling av bankkort \n", "12 VN 2021-41 Jämställdhetsbokslut för 2019 och 2020 \n", "13 VN 2021-42 Uppföljningen av måluppfyllelse för 2018 för m... \n", "14 VN 2021-40 Barnbokslut 2019 och 2020 \n", "15 VN 2021-39 Energi- och klimatbokslut verksamhetsåret 2019 \n", "16 VN 2021-38 Riktlinje för IT-styrning \n", "17 VN 2021-37 Reklam inför valet \n", "18 SON 2021-775 Avropsavtal för handledningstjänster IFO BoU u... \n", "19 SBN 2021-661 Kontrakt Hanorpsvägen \n", "\n", " registeredDate closedDate diary hasEvents \n", "0 2021-06-24T14:05:00 None SON 2021 True \n", "1 2021-06-24T14:02:00 None KOF 2021 False \n", "2 2021-06-24T13:49:00 None SON 2021 True \n", "3 2021-06-24T13:43:00 None SON 2021 True \n", "4 2021-06-24T13:34:32.083 None BOU 2021 True \n", "5 2021-06-24T13:26:35.47 None BOU 2021 True \n", "6 2021-06-24T13:14:29.53 None BIN 2021 True \n", "7 2021-06-24T13:11:58.07 None BIN 2021 True \n", "8 2021-06-24T12:52:00 None KS 2021 True \n", "9 2021-06-24T12:14:19.57 None BIN 2021 True \n", "10 2021-06-24T11:33:19.37 None BMN 2021 True \n", "11 2021-06-24T11:27:00 None SON 2021 True \n", "12 2021-06-24T10:51:00 None VN 2021 True \n", "13 2021-06-24T10:51:00 None VN 2021 True \n", "14 2021-06-24T10:50:00 None VN 2021 True \n", "15 2021-06-24T10:48:00 None VN 2021 True \n", "16 2021-06-24T10:46:00 None VN 2021 True \n", "17 2021-06-24T10:44:00 None VN 2021 True \n", "18 2021-06-24T10:03:00 None SON 2021 True \n", "19 2021-06-24T09:21:00 None SBN 2021 True " ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.head(20)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Ärenden" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
eventNumbereventNamedirectiondateeventTypesenderOrReceivercasecaseNumberdiarydiaryIddocumentNumber
0SON 2020-593: 6Hemlöshetsundersökning i Linköpings kommun 2020In2021-06-24T15:32:19.11SkrivelseNoneHemlöshet i Linköpings kommunSON 2020-593Social- och omsorgsnämnden2156
1SON 2021-776: 1Avbrytande beslutIn2021-06-24T15:25:07.83Beslut{'name': '', 'organization': None}Upphandling av bankkortSON 2021-776Social- och omsorgsnämnden2151
2KOF 2019-14: 22Avtal Linköpings Sporthall - TG 1Upp2021-06-24T15:24:53.303Avtal{'name': '', 'organization': None}Upphandling drift och skötsel - Linköpings Spo...KOF 2019-14Kultur- och fritidsnämnden4922
3SON 2020-1206: 8SBN § 116 Policy för ett ökat träbyggande i Li...In2021-06-24T15:23:45.747Beslut{'name': '', 'organization': None}Handlingar för kännedomSON 2020-1206Social- och omsorgsnämnden2158
4SBN 2021-10: 188Grannehörande - Idrottsgrenen 2 (Drabantgatan 37)Ut2021-06-24T15:22:48.243Yttrande{'name': '', 'organization': 'mos/mex'}Remiss grannehörande - Grannemedgivande bygglovSBN 2021-10Samhällsbyggnadsnämnden118188
5KOF 2021-58: 7Granskning och samråd aktiviteter Handlingspla...In2021-06-24T15:22:31.497Skrivelse{'name': '', 'organization': None}Handlingsplan för Linköpings kommuns kulturpol...KOF 2021-58Kultur- och fritidsnämnden497
6SON 2020-1206: 7Kf § 276 Stoppa dem som skor sig på vår välfärdIn2021-06-24T15:22:15.537Beslut{'name': '', 'organization': None}Handlingar för kännedomSON 2020-1206Social- och omsorgsnämnden2157
7SON 2021-777: 1Kf § 276 Stoppa dem som skor sig på vår välfärdIn2021-06-24T15:21:25.133Beslut{'name': '', 'organization': None}Stoppa dem som skor sig på vård välfärd svar p...SON 2021-777Social- och omsorgsnämnden2151
8SBN 2021-10: 187Grannehörande - Glasfatet 3 (Roxtorpsgatan 14)Ut2021-06-24T15:21:20.017Yttrande{'name': '', 'organization': 'mos/mex'}Remiss grannehörande - Grannemedgivande bygglovSBN 2021-10Samhällsbyggnadsnämnden118187
9SON 2020-1206: 6Kf § 275 Sätt stopp för bidragsfusk i välfärde...In2021-06-24T15:19:44.73None{'name': '', 'organization': None}Handlingar för kännedomSON 2020-1206Social- och omsorgsnämnden2156
\n", "
" ], "text/plain": [ " eventNumber eventName \\\n", "0 SON 2020-593: 6 Hemlöshetsundersökning i Linköpings kommun 2020 \n", "1 SON 2021-776: 1 Avbrytande beslut \n", "2 KOF 2019-14: 22 Avtal Linköpings Sporthall - TG 1 \n", "3 SON 2020-1206: 8 SBN § 116 Policy för ett ökat träbyggande i Li... \n", "4 SBN 2021-10: 188 Grannehörande - Idrottsgrenen 2 (Drabantgatan 37) \n", "5 KOF 2021-58: 7 Granskning och samråd aktiviteter Handlingspla... \n", "6 SON 2020-1206: 7 Kf § 276 Stoppa dem som skor sig på vår välfärd \n", "7 SON 2021-777: 1 Kf § 276 Stoppa dem som skor sig på vår välfärd \n", "8 SBN 2021-10: 187 Grannehörande - Glasfatet 3 (Roxtorpsgatan 14) \n", "9 SON 2020-1206: 6 Kf § 275 Sätt stopp för bidragsfusk i välfärde... \n", "\n", " direction date eventType \\\n", "0 In 2021-06-24T15:32:19.11 Skrivelse \n", "1 In 2021-06-24T15:25:07.83 Beslut \n", "2 Upp 2021-06-24T15:24:53.303 Avtal \n", "3 In 2021-06-24T15:23:45.747 Beslut \n", "4 Ut 2021-06-24T15:22:48.243 Yttrande \n", "5 In 2021-06-24T15:22:31.497 Skrivelse \n", "6 In 2021-06-24T15:22:15.537 Beslut \n", "7 In 2021-06-24T15:21:25.133 Beslut \n", "8 Ut 2021-06-24T15:21:20.017 Yttrande \n", "9 In 2021-06-24T15:19:44.73 None \n", "\n", " senderOrReceiver \\\n", "0 None \n", "1 {'name': '', 'organization': None} \n", "2 {'name': '', 'organization': None} \n", "3 {'name': '', 'organization': None} \n", "4 {'name': '', 'organization': 'mos/mex'} \n", "5 {'name': '', 'organization': None} \n", "6 {'name': '', 'organization': None} \n", "7 {'name': '', 'organization': None} \n", "8 {'name': '', 'organization': 'mos/mex'} \n", "9 {'name': '', 'organization': None} \n", "\n", " case caseNumber \\\n", "0 Hemlöshet i Linköpings kommun SON 2020-593 \n", "1 Upphandling av bankkort SON 2021-776 \n", "2 Upphandling drift och skötsel - Linköpings Spo... KOF 2019-14 \n", "3 Handlingar för kännedom SON 2020-1206 \n", "4 Remiss grannehörande - Grannemedgivande bygglov SBN 2021-10 \n", "5 Handlingsplan för Linköpings kommuns kulturpol... KOF 2021-58 \n", "6 Handlingar för kännedom SON 2020-1206 \n", "7 Stoppa dem som skor sig på vård välfärd svar p... SON 2021-777 \n", "8 Remiss grannehörande - Grannemedgivande bygglov SBN 2021-10 \n", "9 Handlingar för kännedom SON 2020-1206 \n", "\n", " diary diaryId documentNumber \n", "0 Social- och omsorgsnämnden 215 6 \n", "1 Social- och omsorgsnämnden 215 1 \n", "2 Kultur- och fritidsnämnden 49 22 \n", "3 Social- och omsorgsnämnden 215 8 \n", "4 Samhällsbyggnadsnämnden 118 188 \n", "5 Kultur- och fritidsnämnden 49 7 \n", "6 Social- och omsorgsnämnden 215 7 \n", "7 Social- och omsorgsnämnden 215 1 \n", "8 Samhällsbyggnadsnämnden 118 187 \n", "9 Social- och omsorgsnämnden 215 6 " ] }, "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ "endpointEvent = \"Events?maxItemsInResult=1000&api_key=f3d212d2700f4c80aba7d2a88bc94529\"\n", "urlEvent = baseUrl + endpointEvent \n", "dataEvent = json.loads(requests.get(urlEvent).text)\n", "import pandas as pd\n", "dfEvent = pd.DataFrame(dataEvent)\n", "dfEvent.head(n=10)" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Barn- och ungdomsnämnden 213\n", "Social- och omsorgsnämnden 177\n", "Äldrenämnden 145\n", "Samhällsbyggnadsnämnden 135\n", "Kommunstyrelsen 127\n", "Bildningsnämnden 84\n", "Kultur- och fritidsnämnden 44\n", "Arbetsmarknadsnämnden 38\n", "Överförmyndarnämnden 19\n", "Valnämnden 14\n", "Bygg- och Miljönämnden 4\n", "Name: diary, dtype: int64" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "pd.set_option('display.max_rows', None) \n", "dfEvent[\"diary\"].value_counts()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.9.4" } }, "nbformat": 4, "nbformat_minor": 4 }