我正在使用 ruby 将 excel 文件转换为 csv 文件。这是我为此编写的函数:
#!/usr/bin/ruby
require 'CSV'
require 'roo'
def xls_to_csv(file,temp_filename)
if file =~ /\.xlsx$/
excel = Roo::Excelx.new(file)
else
excel = Roo::Excel.new(file)
end
output = File.open(temp_filename, "w")
1.upto(excel.last_row) do |line|
output.write CSV.generate_line excel.row(line)
end
end
它工作正常,除了在文件中的任何邮政编码之后它会添加一个“.0”。以下是输入数据的示例:
address state zip code name
123 Lane TX 78705 John Smith
456 Lane MS 39564 Smohn Jith
一旦 .xls 文件通过函数运行,这里是 CSV 输出:
address,state,zip code,name
123 Lane,TX,78705.0,John Smith
456 Lane,MS,39564.0,Smohn Jith
如您所见,邮政编码现在后面有“.0”。有没有办法避免这种情况?谢谢!