10
votes

Dans Ruby CSV, comment écrire un blanc , "", à un fichier?

Version Ruby 1.9 de CSV

header %w[first second third]

data = ["column one",,"column three"]

CSV.open("myfile.csv","w") do |csv|
  csv << header
  csv << data
end


0 commentaires

3 Réponses :


27
votes

Utiliser xxx

qui génère que csv xxx


1 commentaires

J'ai eu une situation où j'ai utilisé la méthode Split sur une chaîne avec des délimiteurs où il y avait des "champs" vierges, par exemple une chaîne délimitée de l'onglet serait "nom \ Tage \ n" Et la matrice résultante pour ces champs vides est devenue des citations doubles (""). Voici ce que j'ai fait pour générer des nils dans le tableau: csv << string.split (/ \ t /). Carte {| F | f == ""? nil: f}



1
votes

Et si vous avez besoin de nouvelle ligne vide, ajoutez simplement des doubles nules comme: [nil, nil]


1 commentaires

Je pense que c'est la meilleure réponse.



0
votes

Ruby 2.6 a Quote_empty paramètre pour le constructeur, qui peut être réglé sur false .


0 commentaires