我有一個包含146列和530行的電子表格。我想遍歷某些列,找到零值並根據類的類型更改值。我無法弄清楚如何做到這一點,現在我有這個打算對我來說:閱讀excel文件,解決或與零?值,編輯/格式個別列
require 'spreadsheet'
Spreadsheet.client_encoding = 'UTF-8'
raw_data = Spreadsheet.open '../October 2014.xls'
raw_data_sheet = raw_data.worksheet 0
designated_rows = raw_data_sheet.each {|row| [row[6], row[7], row[15], row[14], row[16], row[17], row[18], row[139], row[3], row[19]]}
我已經嘗試了迭代像if row[3].nil? ? row[3] = "blank" : row[3].strip!; end
但我只能得到這些運行,在此不實際更改列3的值文件。我希望在這些列中找到零值,並根據它們的類別將它們更改爲指定值,類別如下所示:
[String, String, Float, Float, Float, Float, Float, Date, String, Float]
帶單元格引用它的["row[6]: String", "row[7]: String", "row[15]: Float", "row[14]: Float", "row[16]: Float", "row[17]: Float", "row[18]: Float", "row[139]: Date", "row[3]: String", "row[19]: Float"]
如果這很重要。
任何人都可以協助這個嗎?你需要更多的信息嗎?謝謝你的回覆。
您是否知道使用迭代並更改'nil'值的最佳邏輯? – heinztomato 2014-12-07 06:36:44
更改爲什麼? – Anthony 2014-12-07 13:34:59
如果column class = String或Date,則爲「N/A」,如果column class = Float,則爲0.0。感謝通過反饋方式,現在我可以如何應用更改。 – heinztomato 2014-12-07 15:48:29