From: Jan Topinski Date: 2006-03-29T01:08:55+09:00 Subject: Re: Changing the quote-character in csv parsing Hi, Don't know how it is with fastercsv but csv.rb has double quote hardcoded as I understand. I think best is to substitute all double quots in your text with single and vice versa. You can do it with gsub this way: line.gsub!(/'|\"/){ |c| if c == "'" "\"" else "'" end } jan Jens Auer wrote: > Hi, > I have a bunch of files containing lines as comma-seperated values. > Unfortunately, the character used for quoting is a single quote (') and > not the double quote ("). How can I tell the csv library (or fastercsv > or any other csv-parsing library) which character is used for quoting? > Some of the files contain fields like 'quoted, but with comma', which > are seperated into two fields at the comma: > irb(main):003:0> line = "one, 'quoted', 'quoted, but with comma'" > => "one, 'quoted', 'quoted, but with comma'" > irb(main):006:0> CSV::parse_line('some words "some quoted text" some > more words', ' ') > => ["some", "words", "some quoted text", "some", "more", "words"] > irb(main):001:0> require 'rubygems' > => true > irb(main):002:0> require_gem 'fastercsv' > => true > irb(main):004:0> line.parse_csv > => ["one", " 'quoted'", " 'quoted", " but with comma'"] > > The output should be ["one", "'quoted'", "'quoted, but with comma'"] > > I already have searched the rdoc for the csv library without any success.