Skip to content

Embed URL

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
require 'iconv'
def shift
line = ''
in_quote = 0
loop do
if read_line = $stdin.gets("\n")
line += read_line.chomp
else
return nil
end
csv = []
current = ''
line.split(',', -1).each do |cell|
cell = Iconv.iconv('ascii//translit//ignore', 'utf-8', cell).first
if cell.count('"').zero? && current.empty?
csv << cell.squeeze(' ').strip
next
end
in_quote += cell.count '"'
current += cell
if in_quote % 2 == 0
csv << current.gsub(/(\n|"|\r|,)/, '').dup.squeeze(' ').strip
current = ''
end
end
if in_quote % 2 == 0
break csv
end
end
end
csv = []
while !csv.nil?
csv = shift
$stdout.puts(csv.join ",") unless csv.nil?
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.