Чтение файлов CSV с использованием переменных с двойными и одинарными кавычками - PullRequest
0 голосов
/ 30 января 2019

Я работаю с очень большими файлами (например, 1 ГБ +) и хочу прочитать строковую переменную из CSV, которая потенциально содержит одинарные или двойные кавычки в переменной.

Есть ли способ сделать это быстро и эффективно после открытия CSV?Или это самый эффективный способ использовать переменную quote_char для одного типа кавычек и экранировать другой тип кавычек в строке?

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

1 Ответ

0 голосов
/ 30 января 2019

Вот хитрость: просто укажите параметр quote_char с , который определенно отсутствует во входном символе :

CSV.new(%|"foo'bar",'foo"bar','foo bar',"foo bar"|, quote_char: ?*).read
#⇒ [["\"foo'bar\"", "'foo\"bar'", "'foo bar'", "\"foo bar\""]]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...