asp.net Konvertieren Sie CSV-string in string[]
Gibt es eine einfache Möglichkeit zur Konvertierung einer Zeichenkette aus csv-format in einen string[] oder list?
Kann ich garantieren, dass es keine Kommas in den Daten.
Wie wäre es möglich, decern von Komma ist, dass in den Daten und Komma ist, die Trennung der Daten?
Denn diese Frage wird indiziert durch google für diese keywords. Es wäre schön, eine vollständige Antwort in der Nähe der Spitze.
Ich denke, dass, wenn Sie wollten mal eine andere Frage (oder der gleiche mit mehr details), sollten Sie das getan haben, statt der Vereinnahmung dieses ein und macht es so Aussehen wie die Antworten, die Löser der ursprüngliche Fragesteller die Frage falsch beantwortet wurden.
Es ist wahr, dass ich garantieren kann, es gibt keine Kommas in den Daten, sodass die akzeptable Antwort für meine Frage ist die, die ich akzeptiert, string[] splitString = origString.Split(','); ich kann sehen, dass der Wert der regex-Ansatz, wenn es gibt keine Garantie, aber...
Denn diese Frage wird indiziert durch google für diese keywords. Es wäre schön, eine vollständige Antwort in der Nähe der Spitze.
Ich denke, dass, wenn Sie wollten mal eine andere Frage (oder der gleiche mit mehr details), sollten Sie das getan haben, statt der Vereinnahmung dieses ein und macht es so Aussehen wie die Antworten, die Löser der ursprüngliche Fragesteller die Frage falsch beantwortet wurden.
Es ist wahr, dass ich garantieren kann, es gibt keine Kommas in den Daten, sodass die akzeptable Antwort für meine Frage ist die, die ich akzeptiert, string[] splitString = origString.Split(','); ich kann sehen, dass der Wert der regex-Ansatz, wenn es gibt keine Garantie, aber...
InformationsquelleAutor Col | 2008-09-16
Du musst angemeldet sein, um einen Kommentar abzugeben.
(Folgenden Kommentar nicht Hinzugefügt werden, indem Sie original Beantworter)
Bitte beachten Sie, dass diese Antwort beschäftigt sich mit den SPEZIFISCHEN Fall, wo es garantiert KEINE Kommas in den Daten.
Wenn Sie sich beziehen wollen .Split({','}), in C# und .NET 2.0 ist dies nicht notwendig. Die .Split(..) überlast-ich bin mit nimmt params char[], der compiler macht es in ein array.
Wie kann das sein die Antwort.... da die Frage eindeutig fest, dass eine Aufteilung auf ein Komma nicht gut genug?
Es kann nicht klar sein, in der Frage, aber die Teilung auf ein Komma ist gut genug, wie ich garantieren kann, dass kein Komma in den Daten
Die Fett-bit in der Frage wurde nicht Hinzugefügt, indem die original-poster und fügt unnötige Anforderungen auf seine Fragen, die er nicht braucht. Ermöglicht Benutzern das ändern der Frage ist ein großes problem, denke ich, dass Stack Overflow muss-Adresse.
InformationsquelleAutor Timothy Carter
String.Split ist einfach nicht gehen, um es zu schneiden, aber ein Regex.Split - Try this one:
Wo "input" ist die csv-Zeile. Dies wird Griff zitiert Trennzeichen, und sollte dir ein array von Zeichenfolgen, die jedes Feld in der Zeile.
Das funktioniert nicht, Recht für nicht-zitierten Daten (wenn Sie es haben): z.B. es kann nicht auf die folgende: String s = "a,b,c";
würde diese Arbeit für eine csv-Datei mit mehreren Zeilen/Datensätze?
InformationsquelleAutor Philip Rieck
Wenn Sie wollen robuste CSV-handling, check-out FileHelpers
InformationsquelleAutor John Sheehan
Versuchen:
Quelle: http://weblogs.asp.net/prieck/archive/2004/01/16/59457.aspx
InformationsquelleAutor Panos
Können Sie einen Einblick in die Verwendung der von Microsoft.VisualBasic assembly mit dem
Verarbeitet CSV-Datei (oder ein beliebiges Trennzeichen), die mit Anführungszeichen. Ich fand es ganz praktisch, vor kurzem.
InformationsquelleAutor cfeduke
Gibt es nicht einen einfachen Weg, dies zu tun gut, wenn Sie wollen, zu berücksichtigen zitiert Elemente mit eingebetteten Kommata, besonders wenn Sie gemischt mit nicht-zitiert Felder.
Sie werden wahrscheinlich auch wollen, konvertieren Sie die Linien, um ein dictionary, sortiert nach der Spalte name.
Meinem code, dies zu tun ist mehrere hundert Zeilen lang sind.
Ich denke, es gibt einige Beispiele im web, open-source-Projekte, etc.
InformationsquelleAutor Eric Z Beard
Versuchen Sie dieses;
InformationsquelleAutor Steve Cooper
dann Zeichenfolge.split(", "); und wenn die Daten enthält Kommas mit Leerzeichen dann die csv war eine schlechte Wahl für die Speicherung und übertragung der Daten
InformationsquelleAutor DevelopingChris
Bekommen ein string [], in der alle die Zeilen:
Dann in einer Schleife durch und split werden diese Linien (diese sind fehleranfällig, weil es nicht überprüfen Kommas im Zitat getrennte Felder):
Fügte hinzu, dass...ich dachte, die Frage war mehrdeutig.
InformationsquelleAutor John Sheehan
Beachten Sie, dass Split() nimmt ein array von Zeichen, die auf Spalten.
InformationsquelleAutor Bob King
Einige CSV-Dateien doppelte Anführungszeichen um die Werte mit einem Komma. Also manchmal kann man split auf dieses string-literal: ","
InformationsquelleAutor Sam
Eine Csv-Datei mit den Zitierten Bereichen, ist nicht eine Csv-Datei. Weit mehr Dinge (Excel) Ausgabe ohne Anführungszeichen anstatt mit Anführungszeichen, wenn Sie wählen Sie "Csv" im "speichern als".Wenn Sie möchten, eine, die Sie verwenden können, kostenlos oder zu Begehen, hier ist meins, der auch nicht IDataReader/Record. Es verwendet auch eine DataTable zu definieren/zu konvertieren/erzwingen Spalten und DbNull.
http://github.com/claco/csvdatareader/
Es nicht, Zitate.. doch. Ich habe gerade warf es zusammen vor ein paar Tagen kratzen ein Jucken.
Semikolon vergessen: Netter link. Danke.
cfeduke: Danke für den Tipp an Microsoft.VisualBasic.FileIO.TextFieldParser. Geht in CsvDataReader heute Abend.
InformationsquelleAutor claco
http://github.com/claco/csvdatareader/ aktualisiert mit TextFieldParser vorgeschlagen cfeduke.
Nur ein paar Requisiten entfernt von der Belichtung Separatoren/trimspaces/Typ ig Sie brauchen nur code zu stehlen.
InformationsquelleAutor claco
War ich schon aufteilen auf die Registerkarten, so dass diese hat den trick für mich:
InformationsquelleAutor JohnOpincar
InformationsquelleAutor
InformationsquelleAutor Paul van Brenk
InformationsquelleAutor Ryan Steckler