Ich muss CSV und TSV-Dateien analysieren können. Ich kann mich nicht darauf verlassen, dass die Benutzer den Unterschied kennen, daher möchte ich vermeiden, dass der Benutzer den Typ auswählt. Gibt es eine einfache Möglichkeit zu erkennen, welches Trennzeichen verwendet wird?Wie soll ich feststellen, welches Trennzeichen in einer Textdatei verwendet wird?
Eine Möglichkeit wäre, in jeder Zeile zu lesen und sowohl Tabs als auch Kommas zu zählen und herauszufinden, welches in jeder Zeile am konsequentesten verwendet wird. Natürlich könnten die Daten Kommas oder Tabulatoren enthalten, so dass dies leichter gesagt als getan werden kann.
Bearbeiten: Ein weiterer Spaß Aspekt dieses Projekts ist, dass ich auch das Schema der Datei erkennen muss, wenn ich es einlese, weil es einer von vielen sein könnte. Das bedeutet, dass ich nicht weiß, wie viele Felder ich habe, bis ich es analysieren kann.
Den Benutzer das Ergebnis vor dem Import zu zeigen, ist ein guter Zug, denke ich, aber raten intelligent ist auch großartig für userexperience. Die Kombination ist also wirklich nett! – BerggreenDK
ein Vorschlag: Wenn Sie ein Vorschaufenster erstellen und "raten" möchten, welches der richtige Begrenzer ist, können Sie auf ein mögliches Trennzeichen aufteilen. und sehen Sie, ob die ersten zehn Zeilen alle die gleiche Anzahl von Feldern haben, vergleichen Sie sie mit allen anderen normalen Feldern. Es ist eine gute Wette, dass man mit der gleichen Anzahl von Feldern arbeitet. Wie [Jon Skeet sagte] (https://stackoverflow.com/questions/761932/how-should-i-detect-which-delimiter-is-used-in-a-text-file/761949#761949) ist es durchaus möglich Es ist ein gültiges kommasepariertes UND-Tab-Trennzeichen, aber dieses Tab war die beabsichtigte Wahl. – PsychoData