Ich benutze Ruby 2.4. Wie kann ich einen gegebenen String als eine Zeile in einer CSV-Datei behandeln und mit dem Trennzeichen diese Zeile in ein Token-Array aufteilen? Alle Beispiele online, die ich gefunden habe, zum BeispielWie teile ich eine Zeichenfolge (nicht eine Datei) als eine Zeile in einer CSV-Datei und parse die Zeichenfolge?
erfordern das Einlesen einer ganzen Datei. Es ist verschwenderisch, meine Zeile in eine Datei zu schreiben, die Datei zurück zu lesen und dann die temporäre Datei zu löschen, die ich erstellt habe. Die Verwendung der "Split" -Funktion scheint nicht sicher zu sein, wenn das Trennzeichen ein Komma ist, da CSV-Dateien manchmal Kommata in den Daten enthalten (in diesem Fall umgeben Anführungszeichen die Daten).
Ein Beispiel für eine solche Zeichenfolge könnte
a,b,c,d,e
werden, wenn die in "\ t" bestanden Trennzeichen ist, wäre das Ergebnis [ "a, b, c, d, e"], aber wenn die der verwendete Begrenzer war ein ",", das Ergebnis wäre ["a", "b", "c", "d", "e"]
Nicht sicher, warum Sie FasterCSV verwenden, wenn das integrierte CSV-Modul äquivalent ist. – tadman
Wie @tadman sagte, ist FasterCSV _is_ Ruby's integrierte CSV, also benutze einfach CSV für Klarheit und Einfachheit. Dann würde ich empfehlen, die Beispiele in [der Dokumentation] (http://ruby-doc.org/stdlib-2.4.0/libdoc/csv/rdoc/CSV.html) zu lesen, da sie dies sehr gut abdecken. –