From ee3ac8b691a5f9866744347d8975402e35c3d4f0 Mon Sep 17 00:00:00 2001 From: git-sandro Date: Thu, 16 Apr 2026 15:46:34 +0200 Subject: [PATCH] requirements, gitignore updated, python integration --- .gitignore | 3 +- notebooks/PostgreSQL-Python mit Code.ipynb | 436 ++++++++++++++++++++- requirements.txt | 1 + 3 files changed, 424 insertions(+), 16 deletions(-) create mode 100644 requirements.txt diff --git a/.gitignore b/.gitignore index 4127086..8672800 100644 --- a/.gitignore +++ b/.gitignore @@ -1,2 +1,3 @@ .DS_Store -.ipynb_checkpoints \ No newline at end of file +.ipynb_checkpoints +.venv \ No newline at end of file diff --git a/notebooks/PostgreSQL-Python mit Code.ipynb b/notebooks/PostgreSQL-Python mit Code.ipynb index e68010f..863448e 100644 --- a/notebooks/PostgreSQL-Python mit Code.ipynb +++ b/notebooks/PostgreSQL-Python mit Code.ipynb @@ -12,7 +12,7 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 1, "id": "0d3fea87-d2a6-4da8-9327-4c08bb70ef9e", "metadata": {}, "outputs": [], @@ -30,12 +30,12 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 2, "id": "62b5a0b5-bafd-4125-8b62-4a2aa493a061", "metadata": {}, "outputs": [], "source": [ - "conn = psycopg2.connect (\"dbname=bank user=postgres password=postgres\")" + "conn = psycopg2.connect (\"dbname=bank user=su password=postgres\")" ] }, { @@ -51,10 +51,284 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 8, "id": "09dbc41c-0ed7-449a-853d-3a18fbb1d97e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "data": { + "text/plain": [ + "[(1,\n", + " 'CHK',\n", + " 1,\n", + " datetime.date(2000, 1, 15),\n", + " None,\n", + " datetime.date(2005, 1, 4),\n", + " 'ACTIVE',\n", + " 2,\n", + " 10,\n", + " 1057.75,\n", + " 1057.75),\n", + " (2,\n", + " 'SAV',\n", + " 1,\n", + " datetime.date(2000, 1, 15),\n", + " None,\n", + " datetime.date(2004, 12, 19),\n", + " 'ACTIVE',\n", + " 2,\n", + " 10,\n", + " 500.0,\n", + " 500.0),\n", + " (3,\n", + " 'CD',\n", + " 1,\n", + " datetime.date(2004, 6, 30),\n", + " None,\n", + " datetime.date(2004, 6, 30),\n", + " 'ACTIVE',\n", + " 2,\n", + " 10,\n", + " 3000.0,\n", + " 3000.0),\n", + " (4,\n", + " 'CHK',\n", + " 2,\n", + " datetime.date(2001, 3, 12),\n", + " None,\n", + " datetime.date(2004, 12, 27),\n", + " 'ACTIVE',\n", + " 2,\n", + " 10,\n", + " 2258.02,\n", + " 2258.02),\n", + " (5,\n", + " 'SAV',\n", + " 2,\n", + " datetime.date(2001, 3, 12),\n", + " None,\n", + " datetime.date(2004, 12, 11),\n", + " 'ACTIVE',\n", + " 2,\n", + " 10,\n", + " 200.0,\n", + " 200.0),\n", + " (7,\n", + " 'CHK',\n", + " 3,\n", + " datetime.date(2002, 11, 23),\n", + " None,\n", + " datetime.date(2004, 11, 30),\n", + " 'ACTIVE',\n", + " 3,\n", + " 13,\n", + " 1057.75,\n", + " 1057.75),\n", + " (8,\n", + " 'MM',\n", + " 3,\n", + " datetime.date(2002, 12, 15),\n", + " None,\n", + " datetime.date(2004, 12, 5),\n", + " 'ACTIVE',\n", + " 3,\n", + " 13,\n", + " 2212.5,\n", + " 2212.5),\n", + " (10,\n", + " 'CHK',\n", + " 4,\n", + " datetime.date(2003, 9, 12),\n", + " None,\n", + " datetime.date(2005, 1, 3),\n", + " 'ACTIVE',\n", + " 1,\n", + " 1,\n", + " 534.12,\n", + " 534.12),\n", + " (11,\n", + " 'SAV',\n", + " 4,\n", + " datetime.date(2000, 1, 15),\n", + " None,\n", + " datetime.date(2004, 10, 24),\n", + " 'ACTIVE',\n", + " 1,\n", + " 1,\n", + " 767.77,\n", + " 767.77),\n", + " (12,\n", + " 'MM',\n", + " 4,\n", + " datetime.date(2004, 9, 30),\n", + " None,\n", + " datetime.date(2004, 11, 11),\n", + " 'ACTIVE',\n", + " 1,\n", + " 1,\n", + " 5487.09,\n", + " 5487.09),\n", + " (13,\n", + " 'CHK',\n", + " 5,\n", + " datetime.date(2004, 1, 27),\n", + " None,\n", + " datetime.date(2005, 1, 5),\n", + " 'ACTIVE',\n", + " 4,\n", + " 16,\n", + " 2237.97,\n", + " 2897.97),\n", + " (14,\n", + " 'CHK',\n", + " 6,\n", + " datetime.date(2002, 8, 24),\n", + " None,\n", + " datetime.date(2004, 11, 29),\n", + " 'ACTIVE',\n", + " 1,\n", + " 1,\n", + " 122.37,\n", + " 122.37),\n", + " (15,\n", + " 'CD',\n", + " 6,\n", + " datetime.date(2004, 12, 28),\n", + " None,\n", + " datetime.date(2004, 12, 28),\n", + " 'ACTIVE',\n", + " 1,\n", + " 1,\n", + " 10000.0,\n", + " 10000.0),\n", + " (17,\n", + " 'CD',\n", + " 7,\n", + " datetime.date(2004, 1, 12),\n", + " None,\n", + " datetime.date(2004, 1, 12),\n", + " 'ACTIVE',\n", + " 2,\n", + " 10,\n", + " 5000.0,\n", + " 5000.0),\n", + " (18,\n", + " 'CHK',\n", + " 8,\n", + " datetime.date(2001, 5, 23),\n", + " None,\n", + " datetime.date(2005, 1, 3),\n", + " 'ACTIVE',\n", + " 4,\n", + " 16,\n", + " 3487.19,\n", + " 3487.19),\n", + " (19,\n", + " 'SAV',\n", + " 8,\n", + " datetime.date(2001, 5, 23),\n", + " None,\n", + " datetime.date(2004, 10, 12),\n", + " 'ACTIVE',\n", + " 4,\n", + " 16,\n", + " 387.99,\n", + " 387.99),\n", + " (21,\n", + " 'CHK',\n", + " 9,\n", + " datetime.date(2003, 7, 30),\n", + " None,\n", + " datetime.date(2004, 12, 15),\n", + " 'ACTIVE',\n", + " 1,\n", + " 1,\n", + " 125.67,\n", + " 125.67),\n", + " (22,\n", + " 'MM',\n", + " 9,\n", + " datetime.date(2004, 10, 28),\n", + " None,\n", + " datetime.date(2004, 10, 28),\n", + " 'ACTIVE',\n", + " 1,\n", + " 1,\n", + " 9345.55,\n", + " 9845.55),\n", + " (23,\n", + " 'CD',\n", + " 9,\n", + " datetime.date(2004, 6, 30),\n", + " None,\n", + " datetime.date(2004, 6, 30),\n", + " 'ACTIVE',\n", + " 1,\n", + " 1,\n", + " 1500.0,\n", + " 1500.0),\n", + " (24,\n", + " 'CHK',\n", + " 10,\n", + " datetime.date(2002, 9, 30),\n", + " None,\n", + " datetime.date(2004, 12, 15),\n", + " 'ACTIVE',\n", + " 4,\n", + " 16,\n", + " 23575.12,\n", + " 23575.12),\n", + " (25,\n", + " 'BUS',\n", + " 10,\n", + " datetime.date(2002, 10, 1),\n", + " None,\n", + " datetime.date(2004, 8, 28),\n", + " 'ACTIVE',\n", + " 4,\n", + " 16,\n", + " 0.0,\n", + " 0.0),\n", + " (27,\n", + " 'BUS',\n", + " 11,\n", + " datetime.date(2004, 3, 22),\n", + " None,\n", + " datetime.date(2004, 11, 14),\n", + " 'ACTIVE',\n", + " 2,\n", + " 10,\n", + " 9345.55,\n", + " 9345.55),\n", + " (28,\n", + " 'CHK',\n", + " 12,\n", + " datetime.date(2003, 7, 30),\n", + " None,\n", + " datetime.date(2004, 12, 15),\n", + " 'ACTIVE',\n", + " 4,\n", + " 16,\n", + " 38552.05,\n", + " 38552.05),\n", + " (29,\n", + " 'SBL',\n", + " 13,\n", + " datetime.date(2004, 2, 22),\n", + " None,\n", + " datetime.date(2004, 12, 17),\n", + " 'ACTIVE',\n", + " 3,\n", + " 13,\n", + " 50000.0,\n", + " 50000.0)]" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], "source": [ "cursor = conn.cursor()\n", "cursor.execute(\"SELECT * FROM account;\")\n", @@ -72,10 +346,41 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 9, "id": "dba24620-fe85-4feb-8109-59a3d7c5e3b3", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(1, 'CHK', 1, datetime.date(2000, 1, 15), None, datetime.date(2005, 1, 4), 'ACTIVE', 2, 10, 1057.75, 1057.75)\n", + "(2, 'SAV', 1, datetime.date(2000, 1, 15), None, datetime.date(2004, 12, 19), 'ACTIVE', 2, 10, 500.0, 500.0)\n", + "(3, 'CD', 1, datetime.date(2004, 6, 30), None, datetime.date(2004, 6, 30), 'ACTIVE', 2, 10, 3000.0, 3000.0)\n", + "(4, 'CHK', 2, datetime.date(2001, 3, 12), None, datetime.date(2004, 12, 27), 'ACTIVE', 2, 10, 2258.02, 2258.02)\n", + "(5, 'SAV', 2, datetime.date(2001, 3, 12), None, datetime.date(2004, 12, 11), 'ACTIVE', 2, 10, 200.0, 200.0)\n", + "(7, 'CHK', 3, datetime.date(2002, 11, 23), None, datetime.date(2004, 11, 30), 'ACTIVE', 3, 13, 1057.75, 1057.75)\n", + "(8, 'MM', 3, datetime.date(2002, 12, 15), None, datetime.date(2004, 12, 5), 'ACTIVE', 3, 13, 2212.5, 2212.5)\n", + "(10, 'CHK', 4, datetime.date(2003, 9, 12), None, datetime.date(2005, 1, 3), 'ACTIVE', 1, 1, 534.12, 534.12)\n", + "(11, 'SAV', 4, datetime.date(2000, 1, 15), None, datetime.date(2004, 10, 24), 'ACTIVE', 1, 1, 767.77, 767.77)\n", + "(12, 'MM', 4, datetime.date(2004, 9, 30), None, datetime.date(2004, 11, 11), 'ACTIVE', 1, 1, 5487.09, 5487.09)\n", + "(13, 'CHK', 5, datetime.date(2004, 1, 27), None, datetime.date(2005, 1, 5), 'ACTIVE', 4, 16, 2237.97, 2897.97)\n", + "(14, 'CHK', 6, datetime.date(2002, 8, 24), None, datetime.date(2004, 11, 29), 'ACTIVE', 1, 1, 122.37, 122.37)\n", + "(15, 'CD', 6, datetime.date(2004, 12, 28), None, datetime.date(2004, 12, 28), 'ACTIVE', 1, 1, 10000.0, 10000.0)\n", + "(17, 'CD', 7, datetime.date(2004, 1, 12), None, datetime.date(2004, 1, 12), 'ACTIVE', 2, 10, 5000.0, 5000.0)\n", + "(18, 'CHK', 8, datetime.date(2001, 5, 23), None, datetime.date(2005, 1, 3), 'ACTIVE', 4, 16, 3487.19, 3487.19)\n", + "(19, 'SAV', 8, datetime.date(2001, 5, 23), None, datetime.date(2004, 10, 12), 'ACTIVE', 4, 16, 387.99, 387.99)\n", + "(21, 'CHK', 9, datetime.date(2003, 7, 30), None, datetime.date(2004, 12, 15), 'ACTIVE', 1, 1, 125.67, 125.67)\n", + "(22, 'MM', 9, datetime.date(2004, 10, 28), None, datetime.date(2004, 10, 28), 'ACTIVE', 1, 1, 9345.55, 9845.55)\n", + "(23, 'CD', 9, datetime.date(2004, 6, 30), None, datetime.date(2004, 6, 30), 'ACTIVE', 1, 1, 1500.0, 1500.0)\n", + "(24, 'CHK', 10, datetime.date(2002, 9, 30), None, datetime.date(2004, 12, 15), 'ACTIVE', 4, 16, 23575.12, 23575.12)\n", + "(25, 'BUS', 10, datetime.date(2002, 10, 1), None, datetime.date(2004, 8, 28), 'ACTIVE', 4, 16, 0.0, 0.0)\n", + "(27, 'BUS', 11, datetime.date(2004, 3, 22), None, datetime.date(2004, 11, 14), 'ACTIVE', 2, 10, 9345.55, 9345.55)\n", + "(28, 'CHK', 12, datetime.date(2003, 7, 30), None, datetime.date(2004, 12, 15), 'ACTIVE', 4, 16, 38552.05, 38552.05)\n", + "(29, 'SBL', 13, datetime.date(2004, 2, 22), None, datetime.date(2004, 12, 17), 'ACTIVE', 3, 13, 50000.0, 50000.0)\n" + ] + } + ], "source": [ "cursor = conn.cursor()\n", "cursor.execute(\"SELECT * FROM account;\")\n", @@ -95,10 +400,41 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 10, "id": "6159012d-ea9c-44da-bec0-5d073d210bd3", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1\n", + "2\n", + "3\n", + "4\n", + "5\n", + "7\n", + "8\n", + "10\n", + "11\n", + "12\n", + "13\n", + "14\n", + "15\n", + "17\n", + "18\n", + "19\n", + "21\n", + "22\n", + "23\n", + "24\n", + "25\n", + "27\n", + "28\n", + "29\n" + ] + } + ], "source": [ "cursor = conn.cursor()\n", "cursor.execute(\"SELECT * FROM account;\")\n", @@ -118,10 +454,41 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 11, "id": "75b7a5c8-4677-4546-a461-e7b36b97ff5e", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 1057.75\n", + "2 500.0\n", + "3 3000.0\n", + "4 2258.02\n", + "5 200.0\n", + "7 1057.75\n", + "8 2212.5\n", + "10 534.12\n", + "11 767.77\n", + "12 5487.09\n", + "13 2237.97\n", + "14 122.37\n", + "15 10000.0\n", + "17 5000.0\n", + "18 3487.19\n", + "19 387.99\n", + "21 125.67\n", + "22 9345.55\n", + "23 1500.0\n", + "24 23575.12\n", + "25 0.0\n", + "27 9345.55\n", + "28 38552.05\n", + "29 50000.0\n" + ] + } + ], "source": [ "import psycopg2.extras\n", "cursor = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)\n", @@ -146,10 +513,41 @@ }, { "cell_type": "code", - "execution_count": null, + "execution_count": 12, "id": "2e24b6bb-4773-4652-b027-7ee4faf6db92", "metadata": {}, - "outputs": [], + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1057.75\n", + "500.0\n", + "3000.0\n", + "2258.02\n", + "200.0\n", + "1057.75\n", + "2212.5\n", + "534.12\n", + "767.77\n", + "5487.09\n", + "2237.97\n", + "122.37\n", + "10000.0\n", + "5000.0\n", + "3487.19\n", + "387.99\n", + "125.67\n", + "9345.55\n", + "1500.0\n", + "23575.12\n", + "0.0\n", + "9345.55\n", + "38552.05\n", + "50000.0\n" + ] + } + ], "source": [ "cursor = conn.cursor(cursor_factory=psycopg2.extras.DictCursor)\n", "\n", @@ -164,11 +562,19 @@ "except:\n", " conn.rollback()" ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "4c9edc49-f3c4-4ad8-903d-ae81cf354472", + "metadata": {}, + "outputs": [], + "source": [] } ], "metadata": { "kernelspec": { - "display_name": "Python 3 (ipykernel)", + "display_name": ".venv (3.12.11)", "language": "python", "name": "python3" }, @@ -182,7 +588,7 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.12.8" + "version": "3.12.11" } }, "nbformat": 4, diff --git a/requirements.txt b/requirements.txt new file mode 100644 index 0000000..0239d16 --- /dev/null +++ b/requirements.txt @@ -0,0 +1 @@ +psycopg2-binary == 2.9.11 \ No newline at end of file