DEV Community

Cover image for Export data to CSV in Ruby
Michal Bryxí
Michal Bryxí

Posted on

Export data to CSV in Ruby

A quick note on how to export an Array of Objects to CSV in Ruby.


For example when fetching data in Rails with raw SQL via:

data = ActiveRecord::Base.connection.execute('SELECT ...').to_a 
Enter fullscreen mode Exit fullscreen mode

One will get following data structure:

puts data {"id"=>1, "first_name"=>"John", "last_name"=>"Doe"} {"id"=>2, "first_name"=>"Jane", "last_name"=>"Doe"} {"id"=>3, "first_name"=>"Michal", "last_name"=>"Bryxí"} 
Enter fullscreen mode Exit fullscreen mode

Then this one-liner can be used to create a file called export.csv with all the data:

File.write('./export.csv', data.map{ |row| row.values.to_csv }.join) 
Enter fullscreen mode Exit fullscreen mode

Which will produce following output:

1,John,Doe 2,Jane,Doe 3,Michal,Bryxí 
Enter fullscreen mode Exit fullscreen mode

Image created with Midjourney prompt: Clerk looking at tables and writting stuff with a pencil on a paper; Ruby is shining on a shelf --ar 16:9

Top comments (0)