Sha256: 74e81bb09ba5e48d92e7eb031e2c756f08caf52b56b37cdd2794e05c0ade70f8
Contents?: true
Size: 1.6 KB
Versions: 22
Compression:
Stored size: 1.6 KB
Contents
# converts the WeatherData1.xlsx spreadsheet into a ruby hash using the rubyXL gem require 'csv' require 'json' require 'rubyXL' begin csv_file = "#{File.dirname(__FILE__)}/../btap/csvFile1.csv" input_file = "#{File.dirname(__FILE__)}/../btap/WeatherData1.xlsx" CSV.open(csv_file, 'wb') do |csv| workbook = RubyXL::Parser.parse input_file worksheet = workbook[0] worksheet.each_with_index do |row, row_idx| row_data = [] (0...row.size).each do |col_idx| begin cell = row[col_idx] val = cell.value row_data << val rescue NoMethodError row_data << '' end end csv << row_data end end rescue StandardError end data_json_hash = CSV.open(csv_file, headers: true).map(&:to_h).to_json File.write("#{File.dirname(__FILE__)}/../btap/csvToJsonUpdate.json", data_json_hash) data_hash = JSON.parse(File.read("#{File.dirname(__FILE__)}/../btap/csvToJsonUpdate.json")) data_hash.each do |info| info['hdd18'] = info['hdd18'].to_i info['hdd15'] = info['hdd15'].to_i info['cdd18'] = info['cdd18'].to_i info['latitude'] = info['latitude'].to_f info['longitude'] = info['longitude'].to_f info['elevation'] = info['elevation'].to_i info['deltadb'] = info['deltadb'].to_f info['mau_type'] = true end pretty_output = JSON.pretty_generate(data_hash) File.delete("#{File.dirname(__FILE__)}/../btap/csvToJsonUpdate.json") File.delete("#{File.dirname(__FILE__)}/../btap/csvFile1.csv") File.write("#{File.dirname(__FILE__)}/../btap/WeatherData1.json", pretty_output)
Version data entries
22 entries across 22 versions & 1 rubygems