キモブロ

Please spy check please, Fucking retard

CSVMapperの自動ヘッダー読み込み機能について

CSVの1行目が列の説明になってるCSVあるじゃないすか。ああいうのは自動でフィールドに変換できるようになってます

たとえばこういうやつ。日本語も大丈夫

first name,last name,age,住所
takumi,kimoto,99,ウインドウズ

みたいな感じのを読み込むときに、has_headerと指定すると1行目がヘッダーだと認識して自動でフィールドに変換してくれるようになる

class MyCSV < CSVMapper
  has_header
end

csv = MyCSV.load_file("./test.csv")
p csv
# => #<MyCSV:0x00000002be3be0 @records=[#<Hashie::Mash age="99" first_name="takumi" last_name="kimoto" 住所="ウインドウズ">]>

csv[0].first_name
csv[0].last_name
csv[0].age
# csv[0].住所 # これはRubyの仕様で出来ないが
            # csvの行のオブジェクトはMashなので
            # (method/添字どちらもアクセスできるハッシュ)
            # 次のように添字アクセスすることでアクセスできる
csv[0]["住所"]