Rubyでcsvファイルを処理
RubyでCSVファイルを処理する方法を説明します。
CSVファイルの読み込み
Rubyの標準ライブラリであるCSVを使ってCSVファイルを読み込むことができます。
以下は、CSVファイルを読み込んで内容を配列に格納する例です。
サンプルコード
require 'csv' data = [] CSV.foreach('ファイル名.csv', headers: true) do |row| data << row.to_h end puts data
CSVファイルの書き込み
CSVファイルにデータを書き込む方法も紹介します。
以下は、配列のデータをCSVファイルに書き込む例です。
サンプルコード
require 'csv' data = [ { "名前" => "田中", "年齢" => 30, "職業" => "エンジニア" }, { "名前" => "鈴木", "年齢" => 25, "職業" => "デザイナー" } ] CSV.open('出力ファイル.csv', 'w') do |csv| csv << data.first.keys data.each do |row| csv << row.values end end
CSVファイルの変更
既存のCSVファイルを読み込み、変更を加えて再度書き込む例も以下に示します。
サンプルコード
require 'csv' data = CSV.read('ファイル名.csv', headers: true) data.each do |row| row["年齢"] = row["年齢"].to_i + 1 end CSV.open('変更後ファイル.csv', 'w') do |csv| csv << data.headers data.each do |row| csv << row end end
これでCSVファイルの基本的な処理が可能になります。