读取带有双引号和单引号变量的CSV文件

时间:2019-01-30 07:12:14

标签: ruby csv bigdata

我正在处理非常大的文件(例如1GB以上),并希望从csv中读取字符串变量,该变量中可能包含单引号或双引号。

打开CSV时,是否可以快速有效地执行此操作?还是最有效的方法是对一种类型的引号使用quote_char变量并在字符串中转义另一种类型的引号?

CSV.foreach('file.csv', :quote_char=>"'", :force_quotes => false) do |row|
     string_value = row[0]
end

1 个答案:

答案 0 :(得分:0)

这是一个窍门:只需提供一个quote_char参数,其中输入符号中肯定不存在

CSV.new(%|"foo'bar",'foo"bar','foo bar',"foo bar"|, quote_char: ?*).read
#⇒ [["\"foo'bar\"", "'foo\"bar'", "'foo bar'", "\"foo bar\""]]