TestTool/Datenimport: Unterschied zwischen den Versionen
Zeile 126: | Zeile 126: | ||
Bsp: | Bsp: | ||
ID;Frage;Fragetyp;Schwierigkeit;Fachgebiet;Lernwoche | ID;Frage;Fragetyp;Schwierigkeit;Fachgebiet;Lernwoche | ||
1; Wie wird in der Bash eine Variable gesetzt?; ; ; ; | 1; Wie wird in der Bash eine Variable gesetzt?; ; ; ; | ||
2; Wandeln sie die binäre IP-Adresse 1000 0011.0110 1011.0000 0011.0001 1000 in dezimaler Form um:; ; ; ; | 2; Wandeln sie die binäre IP-Adresse 1000 0011.0110 1011.0000 0011.0001 1000 in dezimaler Form um:; ; ; ; | ||
3; Wie wird die IP-Adresse 165.18.218.66 binär dargestellt?; ; ; ; | 3; Wie wird die IP-Adresse 165.18.218.66 binär dargestellt?; ; ; ; | ||
4; Der Ethernet-Standard liegt in der Verantwortung eines IEEE‑Unterkomitees. Welche Bezeichnung trägt es?; ; ; ; | 4; Der Ethernet-Standard liegt in der Verantwortung eines IEEE‑Unterkomitees. Welche Bezeichnung trägt es?; ; ; ; | ||
5; In welcher Schicht des OSI-Modells arbeitet ein Gerät, das zur Signalverstärkung dient?; ; ; ; | 5; In welcher Schicht des OSI-Modells arbeitet ein Gerät, das zur Signalverstärkung dient?; ; ; ; | ||
6; Welche Geräte leiten Broadcasts weiter?; ; ; ; | 6; Welche Geräte leiten Broadcasts weiter?; ; ; ; | ||
7; Mit welcher/n aktiven Netzwerkkomponente(n) können Sie zwei Subnetze verbinden?; ; ; ; | 7; Mit welcher/n aktiven Netzwerkkomponente(n) können Sie zwei Subnetze verbinden?; ; ; ; | ||
8; Was sind Monomode-LWL?; ; ; ; | 8; Was sind Monomode-LWL?; ; ; ; | ||
[[Category:Projekt]] | [[Category:Projekt]] | ||
[[Category:Programmierung]] | [[Category:Programmierung]] |
Version vom 24. Juni 2020, 14:15 Uhr
Eine Textdatei soll so umgewandelt werden, dass sie später als CSV-Datei weitergenutzt werden kann.
Textdatei
- Textdatei besteht aus Fragen und Antworten
- Vor jeder Frage ist eine Nummer
- Vor jeder Antwort steht ein Buchstabe(A-F)
- Jede Frage hat eine unterschiedliche Anzahl an Antworten
Beispielsweise:
1. Wie lautet der Text zu dieser Frage? A Keine Ahnung B Frag mal Google C Ähm... D Ich nehm den Publikumsjoker 2. Was halten Sie zum Thema IT-Sicherheit? A Was ist IT-Sicherheit? B Finger weg C Ich kenn mich nicht aus D Das ist doch dieser Alien E Fragen wir mal Google F Windows ist total toll 3. Was ist besser: Windows oder Linux? A Windows B Linux C Beides D Keins E Kenn ich nicht ... ...
Ziel
- Datei soll in zwei Dateien geteilt werden
- Fragen auf eine Datei, Antworten auf eine andere Datei
- Vor den Fragen und Antworten soll sich eine Nummer befinden, um ihre Zugehörigkeit später zu bestimmen
- Die Datei sollen so formatiert werden, dass sie sich leicht als CSV-Dateien in die Datenbank übertragen können
fragen.txt | antworten.txt |
---|---|
1 Wie lautet der Text zu dieser Frage? 2 Was halten Sie von IT-SIcherheit? 3 Was ist besser: Windows und Linux? ... |
1 Keine Ahnung 1 Frag mal Google 1 Ähm... 1 Ich nehm den Publikumsjoker 2 Was ist IT-Sicherheit? 2 Finger weg 2 Ich kenn mich nicht aus 2 Das ist doch dieser Alien 2 Fragen wir mal Google 2 Windows ist total toll 3 Windows 3 Linux 3 Beides 3 Keins 3 Kenn ich nicht ... |
Vorgehen
- Einfaches Rausnehmen und Ersetzen durch Reguläre Ausdrücke reicht nicht aus
- Es muss eine Prozedur erstellt werden
- Empfehlung: AWK, eine Programmiersprache zur Umwandlung von Textdateien
AWK-Script
- Erster Entwurf:
{ if($1 ~ /[0-9]./) { row++; } print row, $0; }
Führt eine Nummer vorne ein, die Frage und deren Antworten nummeriert:
1 1. Wie lautet der Text zu dieser Frage? 1 A Keine Ahnung 1 B Frag mal Google 1 C Ähm... 1 D Ich nimm den Publikumsjoker 2 2. Was halten Sie zum Thema IT-Sicherheit? 2 A Was ist IT-Sicherheit? 2 B Finger weg 2 C Ich kenn mich nicht aus 2 D Das ist doch dieser Alien 2 E Fragen wir mal Google 2 F Windows ist total toll 3 3. Was ist besser: Windows oder Linux? 3 A Windows 3 B Linux 3 C Beides 3 D Keins 3 E Kenn ich nicht ... ...
- Zweiter Entwurf:
{ if($1 ~ /[0-9]./) { row++; $1 = ""; print row $0 >> "fragen.txt"; } else { $1 = ""; print row, $0 >> "antworten.txt"; } }
Führt eine Nummer vorne ein, die Frage und deren Antworten nummeriert; trennt Fragen und Antworten und packt sie in ihre jeweiligen Dateien ab. Das Ergebnis sind die beiden Dateien von oben
Konventionen zum Aufbau einer CSV-Datei
- Trennzeichen von Datensätzen wird ein Zeichen verwendet. (Häufig ist es der Zeilenumbruch)
- Trennzeichen von Datenfeldern(Spalten) wird ebenfalls ein Zeichen verwendet. (Meistens das Komma, aber auch das Semikolon)
- Feldbegrenzerzeichen benutzt man um Sonderzeichen benutzen zu können. (Genommen wird das Anführungszeichen")
- Erster Datensatz kann ein Kopfdatensatz sein, der die Spaltennamen definiert.
- Jeder Datensatz soll die gleiche Anzahl Spalten enthalten.
Bsp:
ID;Frage;Fragetyp;Schwierigkeit;Fachgebiet;Lernwoche 1; Wie wird in der Bash eine Variable gesetzt?; ; ; ; 2; Wandeln sie die binäre IP-Adresse 1000 0011.0110 1011.0000 0011.0001 1000 in dezimaler Form um:; ; ; ; 3; Wie wird die IP-Adresse 165.18.218.66 binär dargestellt?; ; ; ; 4; Der Ethernet-Standard liegt in der Verantwortung eines IEEE‑Unterkomitees. Welche Bezeichnung trägt es?; ; ; ; 5; In welcher Schicht des OSI-Modells arbeitet ein Gerät, das zur Signalverstärkung dient?; ; ; ; 6; Welche Geräte leiten Broadcasts weiter?; ; ; ; 7; Mit welcher/n aktiven Netzwerkkomponente(n) können Sie zwei Subnetze verbinden?; ; ; ; 8; Was sind Monomode-LWL?; ; ; ;