Escape Comma von CSV in Ruby

8

Ich erstelle einen CSV-Download in meiner Ruby-Anwendung, die einige Dollar-Betragsfelder enthält. Diese Felder haben Daten im Cyrrency-Format wie $ 35,456 und wenn solche Daten in CSV kommen, werden sie in zwei Fiedls aufgeteilt, Daten nach Komma werden in CSV in die nächste Spalte verschoben.

Hier ist mein Code zum Rendern von CSV

%Vor%

Hier ist die Aktion zum Zurücksenden von CSV

%Vor%

Gibt es einen Escape-Charakter, mit dem ich "," in Ruby

entkommen kann?

Danke

    
Anil D 07.09.2012, 12:59
quelle

2 Antworten

8

Verwenden Sie Rubys integrierte to_csv Methode.

Wenn Sie dies noch nicht getan haben, müssen Sie require 'csv' .

verwenden %Vor%

to_csv ist direkt auf der Array verfügbar und führt zu allem, was Sie erwarten würden.

row_sep: nil verhindert das \n am Ende jeder Zeile, da Sie das bereits mit each machen. Versuchen Sie es ohne das und Sie werden sehen, dass Sie eine zusätzliche Leerzeile bekommen. Wenn Sie nur eine einzelne CSV-Zeichenfolge generieren, müssen Sie \n beibehalten, um die Zeilen zu trennen.

html_safe verhindert, dass die Zeichen " in Ihrer CSV-Datei angezeigt werden.

Das sollte es tun!

JP

    
Joshua Pinter 29.04.2015 15:58
quelle
6

Verwenden Sie doppelte Anführungszeichen für Werte mit einem Komma:

%Vor%

Bearbeiten : Ändern Sie mit FasterCSV die folgenden Zeilen:

%Vor%

bis

%Vor%     
Trevor 07.09.2012 13:06
quelle

Tags und Links