Sha256: f5c75d4000d55f5f3dd10dc2fff9d78c8981baaac8723bc394e06526a49efc29

Contents?: true

Size: 1.44 KB

Versions: 7

Compression:

Stored size: 1.44 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
        
        ::CSV.open(filename,'r',fs,rs) 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

7 entries across 7 versions & 1 rubygems

Version Path
statsample-0.6.7 lib/statsample/converter/csv18.rb
statsample-0.6.5 lib/statsample/converter/csv18.rb
statsample-0.6.4 lib/statsample/converter/csv18.rb
statsample-0.6.3 lib/statsample/converter/csv18.rb
statsample-0.6.2 lib/statsample/converter/csv18.rb
statsample-0.6.1 lib/statsample/converter/csv18.rb
statsample-0.6.0 lib/statsample/converter/csv18.rb