使用带有Spreadsheet Gem的Ruby 2.0时收到以下错误:
%': can't convert Spreadsheet::Column into Integer (TypeError)
我正在使用spreadsheet guide作为电子表格的宝石。
require 'spreadsheet'
importing = Spreadsheet.open 'file.xls'
book = importing.worksheet 'Sheet1'
book.each do |x, y|
x = book.column(1)
y = book.column(2)
puts x
puts y
end
我期待这样的输出,因为这是我在电子表格中的内容:
x y
32 4
402 6
733 4
1 30
2 3128
2 4
1 1
6 2
10 63
90 333
答案 0 :(得分:1)
each
方法迭代电子表格中的每一行。然后,您可以使用[]
s访问行中的每个值。 This part of the guide is relevant.
为您的用例尝试类似的事情:
require 'spreadsheet'
importing = Spreadsheet.open 'file.xls'
book = importing.worksheet 'Sheet1'
book.each do |row|
puts "%-4s%-4s" % row
end
%-4s
表示插入一个左对齐的String,其最小宽度为4个空格。 row
中的前两个元素将被替换,因为我们在字符串中有两个%
参数。