2014-09-06 154 views
0

我同時使用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 

回答

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手段插入左對齊的字符串的4個空格一個最小寬度。 row中的前兩個元素將被替換,因爲我們在字符串中有兩個%參數。

+0

我在哪裏可以找到像指定的字符串格式的Ruby文檔? – 2014-09-06 21:58:52

+1

@Beast_Code格式說明符的文檔位於['Kernel :: sprintf'](http://www.ruby-doc.org/core-2.1.2/Kernel.html#method-i-sprintf) – JKillian 2014-09-06 22:03:14

+1

很多語言(Python,Java,C等)都使用相似的格式代碼,所以熟悉它是一件非常有用的事情! – JKillian 2014-09-06 22:06:54

相關問題