从CSV文件中删除空白行

时间:2016-01-18 11:50:47

标签: ruby csv

我的CSV文件包含如下空行:

row A

row B
row C


row D

我应该如何继续删除这些空白行:

row A
row B     
row C  
row D

我在其他语言中找到了很多关于这个主题的主题,但在Ruby中没有。

2 个答案:

答案 0 :(得分:2)

三个简单的步骤:

data = File.read('data.csv')                       # Read the file
cleaned = data.gsub(/^$\n/, '')                    # Remove blank lines, from [1]
File.open('out.csv', 'w') { |f| f.write(cleaned) } # Write the cleaned data

[1] Remove empty lines from string

答案 1 :(得分:1)

您不必删除空白行,只需跳过它们:

require "csv" 

CSV.foreach("path/to/file.csv", skip_blanks: true) do |row|
  # handle row, it won't be blank
end