2014-11-19 2 views
1

Я использую следующий код для преобразования CSV в таблицу:Запись целочисленных значений в таблицу

require 'spreadsheet' 
require 'csv' 

book = Spreadsheet::Workbook.new 
sheet1 = book.create_worksheet 

CSV.open("product_2014-11-19_10-41-00.csv", 'r') do |csv| 
    csv.each_with_index do |row, i| 
     sheet1.row(i).replace(row) 
    end 
end 
book.write("temp.xls") 

Но на этом, таблица содержит ведущую смету для столбцов, которые содержат целые значения. Например, рассмотрим столбцы SGDEL,18,,,,140,0,Bib, соответствующие 18, 140 и 0, становясь «18, 140, 0». Почему это так? Как я могу это исправить?

Благодаря

+0

Попробуйте изменить формат этих столбцов на int – BzH

+0

@HanaBizhani: Что, если я не знаю, что все столбцы будут целыми? – nish

ответ

2

Там вариант для CSV#open:

#     vvvvvvvvvvvv 
CSV.open("…", "…", { force_quotes: false }) do |csv| 

Установка в false следует сделать трюк.

Смежные вопросы