Sha256: 9594aa0ad26a1501d4c83c3d0fbbf8b91b31a154e9c03ef3e46818fe08ee7a01
Contents?: true
Size: 1.5 KB
Versions: 1
Compression:
Stored size: 1.5 KB
Contents
module Statsample class CSV < SpreadsheetBase class << self # Returns a Dataset based on a csv file # # USE: # ds=Statsample::CSV.read("test_csv.csv") def read(filename, empty=[''],ignore_lines=0,fs=nil,rs=nil) require 'csv' first_row=true fields=[] fields_data={} ds=nil line_number=0 opts={} opts[:col_sep]=fs unless fs.nil? opts[:row_sep]=rs unless rs.nil? csv=::CSV.open(filename,'r',opts) csv.each do |row| line_number+=1 if(line_number<=ignore_lines) #puts "Skip line" next end row.collect!{|c| c.to_s } if first_row fields=extract_fields(row) ds=Statsample::Dataset.new(fields) first_row=false else rowa=process_row(row,empty) ds.add_case(rowa,false) end end convert_to_scale_and_date(ds,fields) ds.update_valid_data ds end # Save a Dataset on a csv file # # USE: # Statsample::CSV.write(ds,"test_csv.csv") def write(dataset,filename, convert_comma=false,*opts) require 'csv' writer=::CSV.open(filename,'w',*opts) writer << dataset.fields dataset.each_array do|row| if(convert_comma) row.collect!{|v| v.to_s.gsub(".",",")} end writer << row end writer.close end end end end
Version data entries
1 entries across 1 versions & 1 rubygems
Version | Path |
---|---|
statsample-0.6.7 | lib/statsample/converter/csv19.rb |