2010-11-10 15 views
5

Estoy trabajando en la generación de csv. Estoy separando valores que están separados por coma (,). Si el valor en un campo contiene una coma, entonces no debe separar el campo en excel. Entonces quiero poner un personaje de escape allí. Estoy usando FasterCsv. Entonces, cómo puedo poner un personaje de escape. ¿Cuál es el carácter de escape de fastercsv?Valores de coma de escape en fastercsv

Respuesta

2

Si tiene comas en sus datos, configure un separador de columna diferente con la opción: col_sep. Si le gustan sus comas y no puede vivir sin ellas, establezca los datos entre comillas.

+0

valores separados por tabuladores son una alternativo común a coma separado. –

8

Sólo citan todos los campos (comillas dobles por defecto) y comas dentro de ellos son ignorados:

CSV.generate(:col_sep=>',', :quote_char => '"') do |row| 
    row << ["Quid, quid", "latinum dictum"] 
    row << ["sit, altum", "viditur."] 
end 
=> "\"Quid, quid\",latinum dictum\n\"sit, altum\",viditur.\n" 
+1

sería "videtur" – sixty4bit

1

Si utiliza los métodos FasterCSV, esto se manejará de forma automática!

0

una forma creativa es reemplazar la coma real con una apariencia similar. Esto puede ser estúpido, todo depende de tu caso de uso. Estuvo bien para nosotros, creo. Necesito publicar esto antes de que cambie de opinión, lol

my_string.gsub(',','‚') 

No estoy seguro de si se copia pegada esto correctamente, pero se puede crear en mac manteniendo ALT(option) + ,

Cuestiones relacionadas