メモなので分かりにくいかもです
user_data_csv = CSV.generate do |csv|
csv_column_names = ["名前", "年齢"]
csv << csv_column_names
User.all.find_each do |user|
csv << [user.name, user.age]
end
end
File.open("all_user_data.csv", "w") do |csv|
csv.puts user_data_csv
end
データをまとめてからcsvファイルに書き出してるので、こう書くより速い
CSV.open('all_user_data.csv','w') do |csv|
csv_column_names = ["名前", "年齢"]
csv << csv_column_names
User.all.find_each do |user|
csv << [user.name, user.age]
end
end
こちらにさらにいいやり方が載っていました。
https://www.techscore.com/blog/2017/12/04/fast_and_low-load_processing_method_when_exporting_csv_from_db_with_rails/