2013-05-08 7 views
0

저는 csv-File을 만드는 프로그램을 작성하고 있습니다. 그리고 처음에는 문제가 있습니다. CSV | | 데이터 | 그래서, 내 코드는 내가, 출력 파일에 4 열을 얻을이 행처럼 매끄러운 것, 생각빠른 CSV (Ruby) 문제

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 

입니다. 하지만 하나의 셀 A1에서 "행, CSV, 데이터"를 얻습니다. 문제를 어떻게 해결할 수 있습니까? 미리 감사드립니다! PS. 나는 루비 1.8.7과 FasterCSV 1.5.5를 사용한다.

답변

1

나는 이것을 Excel에서 여는 것으로 생각한다. Excel에서 파일을 CSV 파일로 감지하지 못할 수 있습니다. Excel에서 파일을 여는 것과 달리 Excel 통합 문서로 데이터를 가져 오십시오.

+0

덕분에 내가했던, 지금은 더 잘 보이 :

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 

또한 사용자 정의 열 구분 기호를 지정할 수 있습니다. 하지만 지금은 텍스트의 일부 인용 부호가 "\t CSV \t 데이터의 \t 행 "\t "blabla \t \t " – jenia

2

CSV 문자열을 두 번 인코딩합니다. 이것은 작동합니다 : 당신이 말한대로

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

그래, 도우미, 고마워요! – jenia