Newer
Older
ruby-sample / csv-hash.rb
@HIROSE Yuuji HIROSE Yuuji on 18 Jun 2024 981 bytes Init
#!/usr/bin/env ruby
require 'csv'

seiseki = CSV.read("csv-seiseki.csv", headers:true)
# headers:true をつけるとヘッダ(見出し)行がある前提で読み込む。
# ヘッダ行は
#	項目名1,項目名2,項目名3,……
# のような並びで、その列の項目の意味を示す。
# csv-seiseki.csv は試験の点数集計で以下のようになっている。
# 受験番号,得点
# j001,59
# j002,58

seiseki.each_with_index do |row, i|
  bangou  = row["受験番号"]
  tokuten = row["得点"]
  printf("%d人目(%s)の得点は%d点です。\n", i+1, bangou, tokuten)
end

# 得点から平均点を求める
tokuten = seiseki["得点"]	# [項目名] の添字で項目縦1列を全部取り出せる
sum = 0.0			# 小数計算をするときは .0 の小数をつけておく
tokuten.each do |x|
  sum += x.to_i
end
printf("合計=%d点,平均%.3f点でした。\n", sum, sum/tokuten.length)
# sum=0 だけにするとどうなるか確かめよう。