いくつかのActiveRecordsをCSV形式でエクスポートしたいと思います。後にいくつかのチュートリアルをチェックし、私はこれが見つかりました:問題があるルビーでCSVオブジェクトを操作する方法は?
def export_as_csv(equipments)
attributes = %w[id title description category_id]
CSV.generate(headers: true) do |csv|
csv << attributes
equipments.each do |equipment|
csv << equipment.attributes.values_at(*attributes)
end
return csv
end
end
を、私は私のテストでは、メモリ内のすべてを操作したい(すなわち私は、ディスク内のファイルを保存する必要はありません。)。だから、戻り値としてこのCSVオブジェクトを受け取ったとき、どのように行と列を反復処理できますか?私はPythonから来たので、私は試しました:
csv = exporter.export_as_csv(equipments)
for row in csv:
foo(row)
明らかにうまくいきませんでした。また、装置は確実にゼロではありません。 CSV形式のルールに従ってフォーマット
あなたが別の行と列にアクセスする必要がある場合は、まだCSVを必要としません。配列の配列を返します。さもなければ、すぐにそれを解析するためだけにCSVを生成するのはリソースの無駄に見えます。 –
実際には、私たちのプロジェクトのデータをJSONとCSVでエクスポートできるようにしたいと考えています。私がディスクに保存したくない理由は、テスト自体のためです。 – olegario