/ / Problemy z FasterCSV (Ruby) - ruby, szybciejcsv

Problemy z FasterCSV (Ruby) - ruby, fastercsv

Piszę program, który tworzy plik csv. Na początku mam problem. Więc mój kod to

  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

Pomyślałem, że otrzymam 4 kolumny na wyjściuplik, coś jak ten wiersz | danych | csv | danych. Ale otrzymuję „wiersz, CSV, dane” w jednej komórce A1. Jak mogę rozwiązać problem? Z góry dziękuję! PS. Używam Ruby 1.8.7 i FasterCSV 1.5.5

Odpowiedzi:

2 dla odpowiedzi № 1

Kodujesz ciąg CSV dwa razy. To powinno działać:

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

Możesz także określić niestandardowy separator kolumn:

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

1 dla odpowiedzi nr 2

Zakładam, że „otwierasz to w programie Excel. Program Excel może nie wykrywać pliku jako pliku CSV. Spróbuj zaimportować dane do skoroszytu programu Excel, w przeciwieństwie do otwierania pliku w programie Excel.