週報 2024/04/28 川はただ流れている 4/20(土) 初期値依存性 さいきん土曜日は寝てばかり。平日で何か消耗しているらしい。やったことと言えば庭いじりと読書くらい。 ベランダの大改造をした。 サンドイッチ 一年前に引っ越してからこんな配置だったのだけど、さいきん鉢を増やしたら洗濯担当大臣の妻氏…
![FasterCSVによるCSVダウンロードサンプル1 - ろくでなし無職の勉強日記](https://cdn-ak-scissors.b.st-hatena.com/image/square/06a15c64ba0ceec233d86d71001ebb29a9dcbf5d/height=288;version=1;width=512/https%3A%2F%2Fcdn.blog.st-hatena.com%2Fimages%2Ftheme%2Fog-image-1500.png)
CSV.readlines を使う。 例: require 'csv' csvfile="csv/testcsv1.csv" a=CSV.readlines(csvfile) ------(1) a.each{ |row| ------(2) row.each{ |cell| p cell } } (1)で、CSVの内容がArrayのaにはいる。 aは配列の配列になっていて、一行の内容をおさめた配列がさらに行数分、配列になっている。 (2)は、それを確認するコード。 aの要素がrowで、rowの要素がcell。 上記の実行結果は、 "a1" "a2" "a3" "a4" "b1" "b2" nil "b4" "c1" "c2" "c3" "c4" ↑ 文字列から一行だけ配列に読み込む † csv形式の文字列が一行あって,それを配列にする. CSV.parse_line を使う。 例: r
RubyでCSVを扱う場合は標準ライブラリのCSVか、FasterCSVを使うことが多いと思います。どちらのライブラリも以下のような感じでCSVの1行を配列にしてブロックに渡してくれます。 CSV.open("test.csv", 'r') do |row| p row # => ["Yamada", "30", "180"] p row[0] # => "Yamada" p row[1] # => "30" p row[2] # => "180" end このときCSVのカラム数が少なければrow[0], row[1]のようにして配列のインデックスアクセスで十分なのですが、カラム数が多くなると、あのデータは何カラム目にあるだっけ? となることがよくあります。 そこでハッシュですよ。 例えば、CSVデータが名前、年齢、身長の順に並んでいるなら、以下のようにカラム名をキーとしたハッシュにする
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く