somefilename = somefilename0
File.open(somefilename0) do |in_file|
somefilename = somefilename.sub! '.txt', '.csv'
File.open(somefilename, 'w') do |out_file|
in_file.each {|line| out_file << line.gsub('\t', ',') }
end
end
我正在尝试将txt转换为csv并使用ruby。我的代码有效,它将txt转换为csv。我有一个原始的csv文件,我转换为txt文件,以便玩它。因此,当我在记事本文本编辑器中打开原始csv文件时,当我在记事本文本编辑器中打开转换后的csv文件(从txt转换但具有相同数据)时,它们看起来完全相同。根本没有什么区别,我可以看到。它只是一个小文件,只有几行。
但是,当我在excel中打开这些文件时,由于某种原因,转换后的csv文件在每个原始行之间有一条额外的行。原来的csv文件没有这样的东西。 当我在文本编辑器中打开它们时,它们看起来完全相同。世界上到底发生了什么?
编辑:此外,当我上传txt文件并将其保存并将其转换为csv文件,然后尝试将该csv文件上传到数据库时,ruby说不带引号的字段不允许\ r或\ n。但是,如果我只是将原始文件上传到数据库,它就可以正常工作。