我有一个包含零件号的 Excel 列。这是一个示例
如您所见,它可以是许多不同的数据类型:Float
、Int
和String
. 我正在使用roo
gem 来读取文件。问题在于roo
将整数单元格解释为Float
,向它们添加尾随零 (16431 => 16431.0)。我想修剪这个尾随零。我不能使用to_i
,因为它会修剪所有需要小数点的单元格的尾随数字(上例中的第一行),并将剪切String
行中字符串 char 之后的所有内容(上例中的最后一行)。
目前,我有一个方法可以检查单元格的最后两个字符,如果它们是“.0”,则修剪它们
def trim(row)
if row[0].to_s[-2..-1] == ".0"
row[0] = row[0].to_s[0..-3]
end
end
这行得通,但感觉很糟糕和hacky。将我的 Excel 文件内容转换为 Ruby 数据结构的正确方法是什么?