Datenimport Tachymeter
This commit is contained in:
@@ -5,7 +5,6 @@ class Datenbank_anlegen:
|
|||||||
def __init__(self, pfad_datenbank):
|
def __init__(self, pfad_datenbank):
|
||||||
self.pfad_datenbank = pfad_datenbank
|
self.pfad_datenbank = pfad_datenbank
|
||||||
self.db_anlegen()
|
self.db_anlegen()
|
||||||
# <test
|
|
||||||
|
|
||||||
|
|
||||||
def db_anlegen(self):
|
def db_anlegen(self):
|
||||||
@@ -25,6 +24,7 @@ class Datenbank_anlegen:
|
|||||||
spID INTEGER PRIMARY KEY AUTOINCREMENT,
|
spID INTEGER PRIMARY KEY AUTOINCREMENT,
|
||||||
punktnummer TEXT(10),
|
punktnummer TEXT(10),
|
||||||
orientierunghz NUMERIC(2,5),
|
orientierunghz NUMERIC(2,5),
|
||||||
|
orientierungv NUMERIC(2,5),
|
||||||
CONSTRAINT fk_Standpunkte_Tachymeter_Netzpunkte FOREIGN KEY (punktnummer)
|
CONSTRAINT fk_Standpunkte_Tachymeter_Netzpunkte FOREIGN KEY (punktnummer)
|
||||||
REFERENCES Netzpunkte(punktnummer)
|
REFERENCES Netzpunkte(punktnummer)
|
||||||
);
|
);
|
||||||
|
|||||||
124
main.ipynb
124
main.ipynb
@@ -1,7 +1,12 @@
|
|||||||
{
|
{
|
||||||
"cells": [
|
"cells": [
|
||||||
{
|
{
|
||||||
"metadata": {},
|
"metadata": {
|
||||||
|
"ExecuteTime": {
|
||||||
|
"end_time": "2025-10-26T12:17:19.549712Z",
|
||||||
|
"start_time": "2025-10-26T12:17:19.534369Z"
|
||||||
|
}
|
||||||
|
},
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"source": [
|
"source": [
|
||||||
"import csv\n",
|
"import csv\n",
|
||||||
@@ -9,10 +14,15 @@
|
|||||||
],
|
],
|
||||||
"id": "9317c939b4662e39",
|
"id": "9317c939b4662e39",
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"execution_count": null
|
"execution_count": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"metadata": {},
|
"metadata": {
|
||||||
|
"ExecuteTime": {
|
||||||
|
"end_time": "2025-10-26T12:17:19.567415Z",
|
||||||
|
"start_time": "2025-10-26T12:17:19.564007Z"
|
||||||
|
}
|
||||||
|
},
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"source": [
|
"source": [
|
||||||
"# Hier werden die Nutzereingaben vorgenommen:\n",
|
"# Hier werden die Nutzereingaben vorgenommen:\n",
|
||||||
@@ -20,33 +30,65 @@
|
|||||||
],
|
],
|
||||||
"id": "33969d88a569b138",
|
"id": "33969d88a569b138",
|
||||||
"outputs": [],
|
"outputs": [],
|
||||||
"execution_count": null
|
"execution_count": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"metadata": {},
|
"metadata": {
|
||||||
|
"ExecuteTime": {
|
||||||
|
"end_time": "2025-10-26T12:17:19.617874Z",
|
||||||
|
"start_time": "2025-10-26T12:17:19.576417Z"
|
||||||
|
}
|
||||||
|
},
|
||||||
"cell_type": "code",
|
"cell_type": "code",
|
||||||
"source": [
|
"source": [
|
||||||
"# Es wird geprüft, ob die .db-Datei bereits vorhanden ist. Wenn dies nicht der Fall ist, wird die Datenbank mitsamt aller Tabellen angelegt.\n",
|
"# Es wird geprüft, ob die .db-Datei bereits vorhanden ist. Wenn dies nicht der Fall ist, wird die Datenbank mitsamt aller Tabellen angelegt.\n",
|
||||||
"Datenbank.Datenbank_anlegen(pfad_datenbank)"
|
"Datenbank.Datenbank_anlegen(pfad_datenbank)"
|
||||||
],
|
],
|
||||||
"id": "c55d4c3fccfa7902",
|
"id": "c55d4c3fccfa7902",
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
"execution_count": null
|
{
|
||||||
|
"data": {
|
||||||
|
"text/plain": [
|
||||||
|
"<Datenbank.Datenbank_anlegen at 0x20d3c81ba10>"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
"execution_count": 3,
|
||||||
|
"metadata": {},
|
||||||
|
"output_type": "execute_result"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"execution_count": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"metadata": {
|
"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",
|
"cell_type": "code",
|
||||||
"source": "pfad = r\"C:\\Users\\fabia\\OneDrive\\Jade HS\\Master\\MGW2\\Masterprojekt_allgemein\\Masterprojekt\\Übungsnetz\\Tachymeterdaten\\Masterprobe_2.csv\"",
|
"source": "pfad = r\"C:\\Users\\fabia\\OneDrive\\Jade HS\\Master\\MGW2\\Masterprojekt_allgemein\\Masterprojekt\\Übungsnetz\\Tachymeterdaten\\Masterprobe_2.csv\"",
|
||||||
"id": "bb3d08220dbf2071",
|
"id": "bb3d08220dbf2071",
|
||||||
"outputs": [],
|
"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",
|
"cell_type": "code",
|
||||||
"source": [
|
"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",
|
"with open (pfad, newline='', encoding='utf-8') as csvfile:\n",
|
||||||
" r = csv.reader(csvfile, delimiter=';')\n",
|
" r = csv.reader(csvfile, delimiter=';')\n",
|
||||||
" zeilennummer = 0\n",
|
" zeilennummer = 0\n",
|
||||||
@@ -55,14 +97,68 @@
|
|||||||
" if zeilennummer < 4:\n",
|
" if zeilennummer < 4:\n",
|
||||||
" pass\n",
|
" pass\n",
|
||||||
" else:\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",
|
"id": "c76a1830f3bbe81a",
|
||||||
"outputs": [],
|
"outputs": [
|
||||||
"execution_count": null
|
{
|
||||||
|
"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",
|
"cell_type": "code",
|
||||||
"source": "",
|
"source": "",
|
||||||
"id": "d200a8b43e3646c",
|
"id": "d200a8b43e3646c",
|
||||||
|
|||||||
Reference in New Issue
Block a user