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
oderpattern
sind Pflicht, sonst kommt ein Fehler
- Funktionsweise:
- Die Daten werden aus der Datei gelesen.
- Wenn ein
pattern
gegeben ist, werden die Daten mithilfe dieses Musters geparsed. Andernfalls werden sie mithilfe desdelimiter
geparsed. - 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:
- Der Nutzer gibt den Pfad zur Eingabedatei, ein optionales Trennzeichen oder ein optionales Regex-Muster und einen optionalen Ausgabedateinamen an.
- Wenn weder ein Trennzeichen noch ein Regex-Muster angegeben ist, wird eine Fehlermeldung angezeigt.
- 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 " "