Como mikeb apontou, existem os documentos - http://ruby-doc.org/stdlib-1.9.3/libdoc/csv/rdoc/CSV.html - Ou você pode acompanhar os exemplos abaixo (todos são testados e trabalhando):
Para criar um novo arquivo:
Neste arquivo, teremos duas linhas, uma linha de cabeçalho e uma linha de dados, CSV muito simples:
require "csv"
CSV.open("file.csv", "wb") do |csv|
csv << ["animal", "count", "price"]
csv << ["fox", "1", "$90.00"]
end
resultado, um arquivo denominado "file.csv" com o seguinte:
animal,count,price
fox,1,$90.00
Como anexar dados a um CSV
Quase a mesma fórmula acima, em vez de usar o modo "wb", usaremos o modo "a +". Para obter mais informações sobre isso, consulte esta resposta para estouro de pilha: Quais são os modos e opções do Ruby File.open?
CSV.open("file.csv", "a+") do |csv|
csv << ["cow", "3","2500"]
end
Agora, quando abrimos nosso arquivo.csv, temos:
animal,count,price
fox,1,$90.00
cow,3,2500
Leia nosso arquivo CSV
Agora você sabe como copiar e gravar em um arquivo, ler um CSV e, portanto, obter os dados para manipulação que você acabou de fazer:
CSV.foreach("file.csv") do |row|
puts row
end
Claro, isso é como uma das centenas de maneiras diferentes de obter informações de um CSV usando esta joia. Para obter mais informações, sugiro visitar os documentos agora que você tem uma cartilha: http://ruby-doc.org/stdlib-1.9.3/libdoc/csv/rdoc/CSV.html