{category}

Ruby - データ形式

CSV

シーエスブイ(標準ライブラリ

意味 カンマ区切りのデータ形式


CSVとは?

CSVは、Comma-Separated Valuesの略で、カンマで区切られた値を持つテキストデータ形式です。表形式のデータを簡単に扱えるため、データの交換や保存によく使われます。Rubyの標準ライブラリにはCSVを扱うためのクラスが用意されています。

CSVの具体的な使い方

CSVファイルの書き込み例

require 'csv'

# サンプルデータ
data = [
  ['名前', '年齢', '職業'],
  ['山田太郎', 28, 'エンジニア'],
  ['佐藤花子', 35, 'デザイナー'],
  ['鈴木一郎', 42, '営業']
]

# CSVファイルに書き込む
CSV.open('employees.csv', 'w') do |csv|
  data.each do |row|
    csv << row
  end
end

puts 'CSVファイルが作成されました。'

# 作成されたCSVファイルの内容を表示
puts '\nファイルの内容:'
puts File.read('employees.csv')

👇出力結果

CSVファイルが作成されました。

ファイルの内容:
名前,年齢,職業
山田太郎,28,エンジニア
佐藤花子,35,デザイナー
鈴木一郎,42,営業

この例では、CSV.openメソッドを使用してCSVファイルを作成し、データを書き込んでいます。各行をリストとして追加することで、簡単にCSVファイルを生成できます。

CSVファイルの読み込み例

require 'csv'

# CSVファイルを読み込む
employees = []
CSV.foreach('employees.csv', headers: true) do |row|
  employees << {
    name: row['名前'],
    age: row['年齢'].to_i,
    job: row['職業']
  }
end

# 読み込んだデータを表示
employees.each do |employee|
  puts "#{employee[:name]}さん(#{employee[:age]}歳)は#{employee[:job]}です。"
end

👇出力結果

山田太郎さん(28歳)はエンジニアです。
佐藤花子さん(35歳)はデザイナーです。
鈴木一郎さん(42歳)は営業です。

この例では、CSV.foreachメソッドを使用してCSVファイルを読み込んでいます。headers: trueオプションを使うことで、1行目をヘッダーとして扱い、各行のデータに簡単にアクセスできます。

CSVに関するよくある質問

Q. CSVとは何ですか?
A. CSVは「Comma-Separated Values」の略で、データをカンマで区切って表現するテキストファイル形式です。表形式のデータを簡単に扱えるため、データの交換や保存によく使われます。
Q. RubyでCSVを扱う利点は?
A. RubyにはCSVを扱うための標準ライブラリが用意されており、簡単にCSVファイルの読み書きができます。これにより、データの入出力や加工が容易になります。
Q. CSVファイルの区切り文字は?
A. 通常はカンマ(,)ですが、RubyのCSVライブラリでは区切り文字をカスタマイズすることもできます。例えばタブ区切りのTSVファイルも扱えます。

CSVが学べる書籍の紹介

「プログラミング単語帳」を使って、プログラミングの単語を英単語のように学習してみませんか?
プログラミング単語帳には、RubyのCSVやYAML、Net::HTTP、Tempfile、などのような実務でよく使われる単語が数百以上収録されています。
この書籍には、プログラミングの単語の意味や読み方、単語の使い方がわかる例文などが掲載されており、いつでもどこでもプログラミングの学習ができます。

よく使われる単語にだけ絞って学習することができるので、効率的にプログラミングが学習できます。

1日5分の暗記でプログラミンが身に付く!プログラミング単語帳 公式ストアで発売中!

HTML編、CSS編、JavaScript編、PHP編、Ruby編、その他単語編の6シリーズ分が公式ストアにて販売中です。気になった方はぜひ購入してみてください。


Rubyを学べる「プログラミング単語帳」アプリ

プログラミング単語帳がアプリになりました!Rubyはもちろん、10種類のプログラミング言語の中から、よく使われる単語をスマホで学習できます。

収録単語は2,000単語以上!
現在は、HTML、CSS、JavaScirpt、PHP、Laravel、Ruby、Python、MySQL、Linux、など10カテゴリーの単語帳が1つのアプリに収録されています。

いつでも、どこでも、隙間時間を有効活用して、プログラミングを効率的に学べるので、ぜひダウンロードしてみてください。

2024年7月アップデート情報:「Laravel」カテゴリーが追加されましました!

2024年8月アップデート情報:「MySQL」「Linux」カテゴリーが追加されましました!


関連するそのほかの単語

YAML

人間にやさしい設定ファイル形式

種類: データ形式

Net::HTTP

HTTPクライアントの機能を提供

種類: ネットワークプログラミング

Tempfile

一時ファイルを作成・管理

種類: ファイルシステム操作

Hash

キーと値のペアを格納

種類: 基本データ構造

@@name

クラス変数

種類: クラス変数