0

csv ファイルを解析して、レイジー ハイ チャート グラフにしようとしています。

ペーパークリップを使用して csv ファイルをアップロードしましたが、データの解析に問題があり、その方法がよくわかりません。

csv ファイルには 3 つの列があります。列 2 と 3 は、アクセスしたい列です。2 列目は日付、3 列目は気温です。

コントローラ

   def show
    @soiltemp = Soiltemp.find(params[:id])
    @data = CSV.parse(@soiltemp.csv.path, :headers => true, :encoding => 'ISO-8859-1')
    dates = []
    temps = []
    @data.each do |row|
    dates << row[1]
    temps << row[2]
        end
    @graph = LazyHighCharts::HighChart.new('graph') do |f|
      f.title({ :text=>"Combination chart"})
      f.options[:xAxis][:categories] = dates
      f.series(:type=> 'area', :name=> 'Degree', :data => [temps], :color => '#00463f')  
    end
    @hash = Gmaps4rails.build_markers(@soiltemps) do |soiltemps, marker|
      marker.lat soiltemps.latitude
      marker.lng soiltemps.longitude
      marker.infowindow render_to_string(partial: 'soiltemps/map')
    end

意見

<%= high_chart("chart", @graph) %>
<p><b>Last Updated:</b> <%= @soiltemp.updated_at.strftime("%d %B, %Y") %></p>

<%= link_to 'Back', soiltemps_path %>
4

1 に答える 1