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
delimiteroderpatternsind Pflicht, sonst kommt ein Fehler
- Funktionsweise:
- Die Daten werden aus der Datei gelesen.
- Wenn ein
patterngegeben ist, werden die Daten mithilfe dieses Musters geparsed. Andernfalls werden sie mithilfe desdelimitergeparsed. - Die geparseden Daten werden in eine CSV-Datei geschrieben. Wenn kein Ausgabedateiname (
output) angegeben ist, wird der Name der Eingabedatei mit der Endung.csvverwendet.
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_csvaufgerufen, 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 (
--delimiteroder--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 " "
![]()