Fehler beim Analysieren aufgrund von Sonderzeichen in dns-txt-Datensätzen

341
Katja Eichelberger

Ich habe Probleme beim Analysieren von DNS-TXT-Datensätzen, die von einem Skript abgerufen wurden, das ich geschrieben habe. Das Skript nimmt Datensätze, ns-Datensätze und TXT-Datensätze auf und schreibt sie in eine CSV-Datei. Ich verwende Semikolon, um Einträge und "als Texttrennzeichen" zu trennen.

Da txt-Datensätze Sonderzeichen wie "enthalten", führt dies zu Parsing-Fehlern, wenn ich versuche, die CSV-Datei in zB Tabellenkalkulationen zu öffnen.

IN TXT "verification=12345678901234567890" 

Bei mehreren Einträgen pro Datensatz "kommt es innerhalb eines Datensatzes und zB ""am Ende von Einträgen. Zu führencdn.net."verification=12345678901234567890"";"...

Gibt es eine anständige Möglichkeit, solche Probleme im Skript zu vermeiden? Die Verwendung mehrerer Textbegrenzer scheint eine Lösung zu sein, aber auch ein hässlicher Hack.

1
Sagen Sie Ihrer Tabellenkalkulationsanwendung, dass sie nur in Semikolons aufgeteilt werden soll und nicht in Kommas? mtak vor 6 Jahren 0

1 Antwort auf die Frage

1
nKn

CSV-Dateien sind einfach Textdateien, die mit einem von Ihnen ausgewählten Trennzeichen formatiert sind. Im Grunde ist das Trennzeichen nicht etwas, das Sie in dem Dokument, das Sie schreiben, erzwingen, sondern es ist die Person, die die Datei öffnen möchte, die das Trennzeichen auswählen kann. "ist nur die Standardeinstellung, kann jedoch geändert werden.

Heutzutage können Benutzer mit einer anständigen Software, die CSV-Dateien verarbeitet, das Trennzeichen auswählen. Ich würde vorschlagen, einen Charakter wählen, dass Sie sicher sind, dass Sie nicht als Trennzeichen des Dokuments verwenden (zum Beispiel: $, #, ...) und die Leute sagen, dass das Dokument geöffnet werden soll, dass das Trennzeichen ist das Zeichen anstelle von ".

Eine andere Möglichkeit besteht darin, die Datei zum ersten Mal selbst mit dem von Ihnen ausgewählten Trennzeichen zu öffnen, die Datei in einem anderen Format zu speichern ( .xlsz. B.) und diese Datei an die Personen zu senden, die das Dokument lesen sollen. Auf diese Weise müssen sie beim Öffnen keine Trennzeichen auswählen.