Text zu CSV Parsing-Tool

Dokumentation für das Text-zu-CSV-Parsing-Tool #

Beschreibung: #

Das Skript dient dazu, Daten aus einer Textdatei zu extrahieren und diese Daten in eine CSV-Datei zu schreiben. Die Daten können entweder durch ein angegebenes Trennzeichen oder durch ein angegebenes Regex-Muster (Regular Expression Pattern) geparsed werden. Dabei kann der Nutzer den Ausgabedateinamen optional angeben oder den Namen der Eingabedatei beibehalten.

Funktionen: #

parse_table_to_csv(file_path, delimiter=None, pattern=None, output=None)

  • Parameter:
    • file_path: Pfad zur Eingabedatei.
    • delimiter: Ein optionaler Parameter, der das Trennzeichen in der Datei angibt.
    • pattern: Ein optionaler Parameter, der ein Regex-Muster zum Parsen der Zeilen enthält.
    • output: Ein optionaler Parameter für den Namen der Ausgabe-CSV-Datei.
    • Entweder delimiter oder pattern sind Pflicht, sonst kommt ein Fehler
  • Funktionsweise:
    1. Die Daten werden aus der Datei gelesen.
    2. Wenn ein pattern gegeben ist, werden die Daten mithilfe dieses Musters geparsed. Andernfalls werden sie mithilfe des delimiter geparsed.
    3. Die geparseden Daten werden in eine CSV-Datei geschrieben. Wenn kein Ausgabedateiname (output) angegeben ist, wird der Name der Eingabedatei mit der Endung .csv verwendet.

Hauptprogramm: #

  • Parameter:
    • --path: Pfad zur Datei mit der Tabelle. (Erforderlich)
    • --delimiter: Trennzeichen in der Datei. (Optional)
    • --pattern: Regex-Muster zum Parsen der Zeilen. (Optional)
    • --output-name: Name der Ausgabe-CSV-Datei. (Optional)
  • Funktionsweise:
    1. Der Nutzer gibt den Pfad zur Eingabedatei, ein optionales Trennzeichen oder ein optionales Regex-Muster und einen optionalen Ausgabedateinamen an.
    2. Wenn weder ein Trennzeichen noch ein Regex-Muster angegeben ist, wird eine Fehlermeldung angezeigt.
    3. Andernfalls wird die Funktion parse_table_to_csv aufgerufen, um die Daten zu parsen und in eine CSV-Datei zu schreiben.

Wo findet man das Tool: #

Das Tool findet man unter folgender URL: Parse Texttable to CSV

Beispielaufruf: #

Beispiel mit Trennzeichen: #

python script_name.py --path input.txt --delimiter ; --output-name output.csv

In diesem Beispiel würde die Datei input.txt mit einem Semikolon als Trennzeichen geparsed und die Daten würden in output.csv geschrieben.

Beispiel mit Regex anhand einer DNS Datei: #

python parse-texttable-to-csv.py --path dns-table-sample.txt --delimiter " " --pattern "([a-z0-9-.]+)[\s]+([0-9]+)[\s]+([a-zA-Z]+)[\s]+([a-zA-Z]+)[\s]+([a-zA-Z0-9:.\ \-\"\=]+)"

Beispiel DNS-Zonen-Datei:

sample-domain.it   86400   IN      NS      ms.sd1.it.
sample-domain.it   86400   IN      NS      ms.sample-domain.it.
sample-domain.it   86400   IN      SOA     ms.sd1.it hostmaster
sample-domain.it   86400   IN      TXT     "v=spf1 -all"

In diesem Beispiel würde die Datei dns-table-sample.txt mit einem Regex-Pattern geparsed und die Daten würden in dns-table-sample.csv geschrieben.

Hinweise #

  • Wenn keines der beiden Argumente (--delimiter oder --pattern) angegeben wird, gibt das Skript eine Fehlermeldung aus. Wenn beide Argumente angegeben werden, wird das Regex-Muster (--pattern) priorisiert.
  • Ein Leerzeichen als Trennzeichen könnte man wie folgt angeben --delimiter " "

Loading

Angetrieben von BetterDocs