def create_row(key, line)
      row = rows[key] || rows[key] = { key: key, cols: Hash.new(0) }  
      @cols.each do |col|
        column, formula = col.split(':')
        column = evaluate(column) if column =~ /^\(?c\d+[=~+.]/
        previous_value = row[:cols][column]
        if value = eval("#{row[:cols][column]}#{formula}")
          row[:cols][column] = @precision ? value.round(@precision) : value
          add_to_sum_row(row[:cols][column] - previous_value, column)
        end
      end
    end
def create_row(key, line)
      row = rows[key] || rows[key] = { key: key, cols: Hash.new(0) }  
      @cols.each do |col|
        column, formula = col.split(':')
        column = evaluate(column) if column =~ /^\(?c\d+[=~+.]/
        previous_value = row[:cols][column]
        if value = eval("#{row[:cols][column]}#{formula}")
          row[:cols][column] = @precision ? value.round(@precision) : value
          add_to_sum_row(row[:cols][column] - previous_value, column)
        end
      end
    end
Creates a table row based on the column pattern
 Examples of column patterns
 * Value:+n1             Adds content of column 1 to Value column
 * Value:+n1,c2+c3:+n1   Creates a dynamic column and adds column 1 value
 * c0=~/\\.(\\d{4})/:+n1 Creates dynamic column from regex and adds
                         column 1 value