Ruby初学者です、よろしくお願いします。
前提・実現したいこと
Rubyと、gemのrooを用いてexcelの計算をしようとしています。
Ruby 2.3.3
roo 2.7.1
excelの中身は以下のようになっています。
1行目はタイトルで日付、風力、距離、これに続き様々なタイトル
2行目以降は数値データが入っています。このようなイメージです。
日付 | 風力 | 距離 |
---|---|---|
1 | 7 | 10 |
2 | 6 | 20 |
風力6以下の場合のみの距離を足して合計を出そうとしています。
発生している問題・エラーメッセージ
風力6以下という条件指定のところでエラーがでます。
undefined method `<=' for #<Roo::Excelx::Cell::Number:0x007fc4af012ea0>
該当のソースコード
Ruby
1sheet = Roo::Excelx.new('ファイルの名前') 2sheet.each_row_streaming(offset:1) do |row| 3 if row[1] <= 6 4 # 処理 5 end 6end
試したこと
irbでは <= に undefined methodエラーは出ませんでした。
Ruby
1irb(main) > if sheet.cell(3,'B') <= 6 2irb(main) > puts "true" 3irb(main) > end 4true
each_row_streamingで1行ずつ取り出し配列に格納された後の風力(row[1])は1行目のタイトル以外は:numeric_or_formula型です。
試しに <, <=, >=, > など試しましたが全滅でした。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/04/16 07:31 編集
2018/04/16 07:45
2018/04/16 07:46
2018/04/16 07:49