Ausgabe für testende noch weiter verbessert

This commit is contained in:
Wolfgang Wiedermann 2023-01-26 14:56:53 +01:00
parent 162ecfd053
commit f81019d64b
3 changed files with 43 additions and 4 deletions

View File

@ -51,7 +51,7 @@ für alle Zeilen im Tabellenblatt:
### Output eines Durchlaufs mit den gegebenen Testdaten
```
$ python3 merge_sample.py
~/git/example_merge_bug4599$ python3 merge_sample.py
Importiere aus excel_file_1.xlsx - Tabelle1
Mtknr: 1 Note: 1.0 hinzufügen
@ -60,14 +60,35 @@ Mtknr: 3 Note: 1.0 hinzufügen
Mtknr: 4 Note: 3.0 hinzufügen
Mtknr: 5 Note: 2.3 hinzufügen
Fehlender oder ungültiger Notenwert für Mtknr 6
---
Datenbankstand nach Import:
pruefung_id mtknr note
6 1 1
6 2 1.3
6 3 1
6 4 3
6 5 2.3
---
Importiere aus excel_file_2.xlsx - Tabelle1
Wollen Sie die Note zu 1 auf 1.3 aktualisieren? (j/n)
n
unverändert
j
angepasst
Mtknr: 7 Note: 1.3 hinzufügen
Mtknr: 8 Note: 1.0 hinzufügen
Mtknr: 9 Note: 3.0 hinzufügen
Note zu 2 wird nicht geändert, Zeile leer oder ungültig
Note zu 3 wird nicht geändert, Zeile leer oder ungültig
---
Datenbankstand nach Import:
pruefung_id mtknr note
6 1 1.3
6 2 1.3
6 3 1
6 4 3
6 5 2.3
6 7 1.3
6 8 1
6 9 3
```

Binary file not shown.

View File

@ -19,7 +19,7 @@ connection = sqlite3.connect(SQLITE_FILE)
# Hier als Konstante, da in der Praxis wahrscheinlich aus Kontext
# in Webanwendung abgeleitet
PRUEFUNG_ID = 5
PRUEFUNG_ID = 6
def read_file(filename):
# alle Validierungsschritte zugunsten eines übersichtlichen Beispiels eingespart
@ -35,6 +35,17 @@ def read_file(filename):
return data
def print_result(con, pruefung_id):
sql = "select * from pruefungsergebnis where pruefung_id = ?"
cur = con.cursor()
cur.execute(sql, (pruefung_id, ))
result = cur.fetchall()
print("Datenbankstand nach Import: \n")
print("pruefung_id\tmtknr\tnote")
for entry in result:
print(f"{entry[0]}\t\t{entry[1]}\t{entry[2]}")
def is_already_set(con, pruefung_id, mtknr):
sql = "select count(*) as anzahl from pruefungsergebnis where pruefung_id = ? and mtknr = ?"
cur = con.cursor()
@ -93,5 +104,12 @@ def merge_data(pruefung_id, new_data):
f1 = read_file("excel_file_1.xlsx")
merge_data(PRUEFUNG_ID, f1)
print("---")
print_result(connection, PRUEFUNG_ID)
print("---")
f2 = read_file("excel_file_2.xlsx")
merge_data(PRUEFUNG_ID, f2)
print("---")
print_result(connection, PRUEFUNG_ID)