Class: Statsample::SpreadsheetBase

Inherits:
Object
  • Object
show all
Defined in:
lib/statsample/converters.rb

Direct Known Subclasses

CSV, Excel, PlainText

Class Method Summary collapse

Class Method Details

.convert_to_numeric_and_date(ds, fields) ⇒ Object



109
110
111
112
113
114
115
116
117
# File 'lib/statsample/converters.rb', line 109

def convert_to_numeric_and_date(ds,fields)
  fields.each do |f|
    if ds[f].can_be_numeric?
      ds[f].type=:numeric
    elsif ds[f].can_be_date?
      ds[f].type=:date
    end
  end
end

.extract_fields(row) ⇒ Object



79
80
81
82
83
84
85
86
87
88
89
90
# File 'lib/statsample/converters.rb', line 79

def extract_fields(row)
  i=0;
  fields=row.to_a.collect{|c|
    if c.nil?
      i+=1
      "var%05d" % i
    else
      c.to_s.downcase
    end
  }
  fields.recode_repeated
end

.process_row(row, empty) ⇒ Object



92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
# File 'lib/statsample/converters.rb', line 92

def process_row(row,empty)
  row.to_a.map do |c|
    if empty.include?(c)
        nil
    else
      if c.is_a? String and c.is_number?
        if c=~/^\d+$/
          c.to_i
        else
          c.gsub(",",".").to_f
        end
      else
        c
      end
    end
  end
end