13.1.1 Datenaufbereitung


Daten sind der Motor des Internets. Viele Internetseiten, welche Informationen bereitstellen, laden Daten aus Datenquellen und bereiten diese Daten so auf, dass Internet-Clients auf diese zugreifen können.

Anhand des Beispiel von Isotopen (Atomkerne mit gleich viel Protonen aber einer variablen Anzahl von Neutronen) sollen Sie diese Datenverarbeitung mit Hilfe von Algorithmen kennenlernen. Für das Projekt sollen Daten bekannter Isotope aus einer frei zugänglichen Internetquelle besorgt werden. Eine Internetrecherche zeigt, dass z.B. die "International Atomic Energy Agency" mit Sitz in Wien eine Datenquelle für Isotopen-Daten anbietet:

Nuclear Wallet Cards Search

Es sollen Daten für alle Isotope mit unterschiedlichen Kernladungszahlen Z gefunden werden.

  • Geben Sie bei "Specify Nuclei" beim 3. Suchparameter 0 <= Z <= 117 ein
  • Wählen Sie bei "Output" den Parameter "Formatted File"
  • Starten Sie die Suche mit einem Klick auf "Search"

Der Suchalgorithmus meldet: "There are too many results for your search, some of them will be displayed; however you should repeat your search with a far more restricted search space". Wenn Sie bis zum Ende der Datei scrollen, sehen Sie dass bei der Kernladungszahl 79 die Datei zu Ende ist. Wir müssen die Abfrage in kleineren Schritten durchführen.

  • Geben Sie bei "Specify Nuclei" beim 3. Suchparameter 0 <= Z <= 50 ein
  • Wählen Sie bei "Output" den Parameter "Formatted File"
  • Starten Sie die Suche mit einem Klick auf "Search"

Mit der Einschränkung auf 50 als größter Kernladungszahl akzeptiert der Suchalgorithmus die Anfrage und alle Isotope bis Z = 50 werden angezeigt.

  • Markieren und kopieren Sie den Inhalt
  • Speichern Sie diesen in einer Textdatei mit einem Texteditor Ihrer Wahl (z.B. Notepad++)
  • Wiederholen Sie den Vorgang für 51 <= Z <= 100 und 101 <= Z <= 117.
  • Fügen Sie die Daten in einer einzigen Textdatei zusammen
  • Löschen Sie überflüssige Zeilen (Kommentare zum Schluss, doppelte Zeilenüberschrift).

Sie sollten dann eine Datei wie die folgende erzeugt haben: isotope_1.txt.

Sie können die Datei mit der rechten Maustaste und "Link speichern unter" auf Ihrem PC speichern.

Die Datei hat 6486 Zeilen und ist 1 MB groß.

Wenn Sie sich die Datei ansehen, stellen Sie fest, dass es viele Dupletten in der Datei gibt. Isotope zerfallen auf unterschiedlichste Weise und verschiedene Zerfallsarten eines Isotops werden jeweils in einer eigenen Zeile angegeben. Wir wollen für unser Projekt aber nur die Isotope ohne weitere Details in einer Datei speichern.

Alle doppelten Zeilen und alle ungewünschten Spalten sollen aus der Datei entfernt werden. Dafür gibt es verschiedene Möglichkeiten mit unterschiedlichem Zeitbedarf:

  • in einem Texteditor per Hand (10 Stunden)
  • in einem Tabellenkalkulationsprogramm (5 Stunden)
  • mit Hilfe eines programmierten Algorithmus (1 Stunde für das Programmieren des Algorithmus, 1 Sekunde für die Ausführung des Algorithmus)

Hier werden wir das einen Algorithmus durchführen lassen. Zuvor soll die Datei aber in ein standartisiertes Format gebracht werden: das csv-Format.

Anleitung:

  • Importieren Sie die Textdatei in ein Tabellenkalkulationsprogramm. Hier wird das Verfahren mit Excel beschrieben. Legen Sie dazu in Excel eine neue leere Datein an.
  • Klicken Sie in die Zelle "A1" und dann auf "Daten". Im Menü "Daten" klicken Sie auf "Aus Text/CSV" und wählen auf ihrem PC die Datei "isotope.txt".
  • Klicken Sie auf "Daten transformieren" und bestätigen Sie damit die Einstellungen mit dem Trennzeichen "Tabstopp".
  • Klicken Sie im nächsten Dialog oben links auf "Laden/Schließen". Die Dateien der Textdatei werden in Excel geladen.
  • Markieren Sie die Spalten "Energy" bis "Branching" und löschen Sie diese mit rechter Maustaste "Zellen löschen", so dass nur noch die Spalten "A", "Element", "Z" und "N" bleiben.
  • Speichern Sie die Datei im csv-Format, indem Sie auf "Speichern unter..." klicken, als Dateiformat "CSV UTF-8 (durch Trennzeichen getrennt)" auswählen, den Dateinamen "isotope_kurz" eingeben und auf "Speichern" klicken.
  • Ändern Sie die Dateiendung von ".csv" zu ".txt"

Folgende Datei sollte von Excel gespeichert worden sein: isotope_2.txt

Diese Datei enthält nur noch die gewünschten Daten, das Trennzeichen sollte aber ein Komma sein und die Leerzeichen sollten entfernt werden.

  • Öffnen Sie die Datei in einem Texteditor wie Notepad++
  • Ersetzen Sie zuerst die Semikolons mit einem Komma und danach die Leerzeichen mit Nichts mit Hilfe der Suchen und Ersetzen-Funktion des Texteditors.

Da etwa 20000 Semikolons und etwa 35000 Leerzeichen ersetzt werden müssen, kann der Vorgang einige Sekunden dauern, warten Sie also bitte geduldig auf die Fertigstellung.

Ihre Datei sollte wie folgt aussehen: isotope_3.txt

Die deutlich verkleinerte Datei mit einem Komma als Trennzeichen kann jetzt mit dem Algorithmus weiter bearbeitet werden.

Öffnen Sie die Preview der Sandbox in einem neuen Fenster und schalten Sie den Debugger an (F12).

Verfolgen Sie Schritt für Schritt die Ausführung des Programms.