diff --git a/Datenbank.py b/Datenbank.py index 12a310f..180cd43 100644 --- a/Datenbank.py +++ b/Datenbank.py @@ -5,7 +5,6 @@ class Datenbank_anlegen: def __init__(self, pfad_datenbank): self.pfad_datenbank = pfad_datenbank self.db_anlegen() - # " + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "execution_count": 3 }, { "metadata": { - "collapsed": true + "collapsed": true, + "ExecuteTime": { + "end_time": "2025-10-26T12:17:19.628428Z", + "start_time": "2025-10-26T12:17:19.624544Z" + } }, "cell_type": "code", "source": "pfad = r\"C:\\Users\\fabia\\OneDrive\\Jade HS\\Master\\MGW2\\Masterprojekt_allgemein\\Masterprojekt\\Übungsnetz\\Tachymeterdaten\\Masterprobe_2.csv\"", "id": "bb3d08220dbf2071", "outputs": [], - "execution_count": null + "execution_count": 4 }, { - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-26T12:17:19.667965Z", + "start_time": "2025-10-26T12:17:19.643629Z" + } + }, "cell_type": "code", "source": [ + "import sqlite3\n", + "\n", + "liste_netzpunkte = []\n", + "liste_netzpunkte_neu = []\n", + "liste_netzpunkte_vorhanden = []\n", + "liste_zeilennummern_Orientierung = []\n", + "\n", "with open (pfad, newline='', encoding='utf-8') as csvfile:\n", " r = csv.reader(csvfile, delimiter=';')\n", " zeilennummer = 0\n", @@ -55,14 +97,68 @@ " if zeilennummer < 4:\n", " pass\n", " else:\n", - " print(row)\n" + " if row[0] != \"Orientierung\":\n", + " liste_netzpunkte.append(row[0].strip())\n", + " else:\n", + " liste_zeilennummern_Orientierung.append(zeilennummer-1)\n", + " liste_zeilennummern_Orientierung.append(zeilennummer)\n", + " #print(row)\n", + "\n", + "\n", + "liste_netzpunkte = list(set(liste_netzpunkte))\n", + "\n", + "con = sqlite3.connect(pfad_datenbank)\n", + "cursor = con.cursor()\n", + "cursor.execute(\"\"\"SELECT punktnummer FROM Netzpunkte\"\"\")\n", + "liste_netzpunkte_in_db = {row[0] for row in cursor.fetchall()}\n", + "\n", + "liste_netzpunkte_neu = [np for np in liste_netzpunkte if np not in liste_netzpunkte_in_db]\n", + "liste_netzpunkte_vorhanden = [np for np in liste_netzpunkte if np in liste_netzpunkte_in_db]\n", + "\n", + "for np_neu in liste_netzpunkte_neu:\n", + " cursor.execute(\"INSERT INTO Netzpunkte (punktnummer) VALUES (?)\", (np_neu,))\n", + "\n", + "with open (pfad, newline='', encoding='utf-8') as csvfile:\n", + " r = csv.reader(csvfile, delimiter=';')\n", + " for nummer, row in enumerate(r, start=1):\n", + " if nummer < 4:\n", + " pass\n", + " if nummer in liste_zeilennummern_Orientierung:\n", + " if row[0] != \"Orientierung\":\n", + " punktnummer = row[0].strip()\n", + " else:\n", + " cursor.execute(\"INSERT INTO Standpunkte_Tachymeter (punktnummer, orientierunghz, orientierungv) VALUES (?, ?, ?)\", (punktnummer, row[1], row[2]))\n", + "\n", + "\n", + "\n", + "con.commit()\n", + "con.close()\n", + "\n", + "\n", + "\n", + "print(f\"Es wurden {len(liste_netzpunkte_neu)} neue Punkte importiert. Dies sind: {', '.join(map(str, liste_netzpunkte_neu))}\")\n", + "print(f\"Es sind bereits {len(liste_netzpunkte_vorhanden)} Punkte im Netz enthalten. Dies sind: {', '.join(map(str, liste_netzpunkte_vorhanden))}\")" ], "id": "c76a1830f3bbe81a", - "outputs": [], - "execution_count": null + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Es wurden 4 neue Punkte importiert. Dies sind: 20003, 20002v, 20001, 2n\n", + "Es sind bereits 0 Punkte im Netz enthalten. Dies sind: \n" + ] + } + ], + "execution_count": 5 }, { - "metadata": {}, + "metadata": { + "ExecuteTime": { + "end_time": "2025-10-26T12:17:19.676762Z", + "start_time": "2025-10-26T12:17:19.674504Z" + } + }, "cell_type": "code", "source": "", "id": "d200a8b43e3646c",