Ruby 1.9 및 CSV 라이브러리를 사용하면 행을 추가 할 수 없습니다. 설명서의 예제는 파일을 열고 행을 덮어 씁니다. 문서에 행을 추가하는 올바른 방법은 무엇입니까? 문서에서csv 파일에 행 추가 Ruby 1.9 CSV lib
예 :
CSV.open("t.csv", "ab") do |csv|
Ruby 1.9 및 CSV 라이브러리를 사용하면 행을 추가 할 수 없습니다. 설명서의 예제는 파일을 열고 행을 덮어 씁니다. 문서에 행을 추가하는 올바른 방법은 무엇입니까? 문서에서csv 파일에 행 추가 Ruby 1.9 CSV lib
예 :
CSV.open("t.csv", "ab") do |csv|
나는 당신이 오픈이 ab
을 사용하여 변경할 수 있습니다 생각
File.open("filename", 'a+') {|f| f.write("datatowrite\n)}
나는 보통 CSV 파일 (또는 파일)에 기록하려면 다음을 사용합니다 :
require 'csv'
CSV.open("path/to/file.csv", "wb") do |csv|
csv << ["row", "of", "CSV", "data"]
csv << ["another", "row"]
# ...
end
File.open('filename', 'a'){ |outfile|
CSV::Writer.generate(outfile) do |csv|
csv << ['c1', nil, '', '"', "\r\n", 'c2']
end
}
AFAIK CSV :: Writer는 [ruby 1.9에서는 제공되지 않습니다.] (http://stackoverflow.com/a/2140482/514483) – robd
'a +'는 read * 및 * [write/append]에 대한 것입니다 (http://ruby-doc.org/docs/ProgrammingRuby/html/ref_c_io.html). 추가하기 만하면 'a'로 충분합니다. 다른 모드 설정과 함께 [File :: APPEND] (http://ruby-doc.org/docs/ProgrammingRuby/html/ref_c_file.html)를 사용할 수도 있습니다. –
존재하지 않는 경우 파일을 생성하므로 항상 +를 사용해야합니다. – user1735921