「A.csv」というCSVファイルがあります。 「A.csv」のデータを使用して、「B.csv」という新しいCSVファイルを生成する必要があります。
「A.csv」の列のサブセットを使用するため、1つの列の値を「B.csv」の新しい値に更新する必要があります。次に、B.csvからのこのデータを使用して、データベースで検証します。
CSVの読み取り、配列の取得、ハッシュ化ができます。
Mikebが指摘したように、ドキュメントがあります- http://Ruby-doc.org/stdlib-1.9.3/libdoc/csv/rdoc/CSV.html -または、以下の例に従ってください(すべてテスト済みで動作しています):
このファイルには、ヘッダー行とデータ行の2つの行、非常に単純なCSVがあります。
require "csv"
CSV.open("file.csv", "wb") do |csv|
csv << ["animal", "count", "price"]
csv << ["fox", "1", "$90.00"]
end
結果として、次の「file.csv」というファイルが作成されます。
animal,count,price
fox,1,$90.00
上記とほぼ同じフォーラムは、「wb」モードを使用する代わりに、「a +」モードを使用します。これらの詳細については、このスタックオーバーフローの回答を参照してください: Ruby File.openモードとオプションとは何ですか?
CSV.open("file.csv", "a+") do |csv|
csv << ["cow", "3","2500"]
end
File.csvを開くと、次のようになります。
animal,count,price
fox,1,$90.00
cow,3,2500
これで、ファイルのコピー方法と書き込み方法、CSVの読み取り方法、そして操作のためにデータを取得する方法がわかりました。
CSV.foreach("file.csv") do |row|
puts row #first row would be ["animal", "count", "price"] - etc.
end
もちろん、これは、このgemを使用してCSVから情報を取得できるさまざまな方法の1つに似ています。詳細については、入門書があるのでドキュメントをご覧になることをお勧めします: http://Ruby-doc.org/stdlib-1.9.3/libdoc/csv/rdoc/CSV.html
RubyのCSVクラスを見ましたか?かなり包括的なようです。こちらをご覧ください: http://Ruby-doc.org/stdlib-1.9.3/libdoc/csv/rdoc/CSV.html