/ / Problèmes avec FasterCSV (Ruby) - ruby, Fastcsv

Problèmes avec FasterCSV (Ruby) - Ruby, plus rapidecsv

Je suis en train d’écrire un programme, qui crée un fichier csv. Donc, mon code est

  def create_csv
destfile = Rails.root.join("public", "reports", "statistic_csv#{id}.csv")
csv_string = FasterCSV.generate do |out|
out << ["row", "of", "CSV", "data"]
end
FasterCSV.open(destfile, "w") do |csv|
csv << csv_string
end
end

J'ai pensé que j'aurais 4 colonnes dans la sortiefile, smth like this row | of | csv | data. Mais ce que j’obtiens, c’est "rangée, de, CSV, données" dans une cellule A1. Comment puis-je résoudre le problème? Merci d'avance! PS. J'utilise ruby ​​1.8.7 et FasterCSV 1.5.5

Réponses:

2 pour la réponse № 1

Vous codez la chaîne CSV deux fois. Cela devrait fonctionner:

def create_csv
destfile = Rails.root.join("public", "reports", "statistic_csv#{id}.csv")
FasterCSV.open(destfile, "wb") do |csv|
csv << ["row", "of", "CSV", "data"]
end
end

Vous pouvez également spécifier un séparateur de colonne personnalisé:

FasterCSV.open(destfile, "wb", { :col_sep => "|" }) do |csv|
# ...
end

1 pour la réponse № 2

Je suppose que vous ouvrez cela dans Excel. Excel ne détecte peut-être pas le fichier en tant que fichier CSV. Essayez d'importer les données dans un classeur Excel au lieu d'ouvrir le fichier dans Excel.