У меня есть строковые значения, которые я пишу в CSV-файл в виде массива, как -Запись в формате CSV добавляет кавычки
output = "This is a, ruby output"
CSV.open("output/abc.csv", "a+") do |csv|
csv << [output]
end
Когда я просматриваю файл abc.csv
строка добавляется имеет кавычки (") на начало и конец поля. Как я могу избавиться от него? выход
файла, как ---
"This is a, ruby output"
до сих пор я пытался tr
или slice
перед сохранением в csv, но, похоже, письмо вызывает его.
Это «действительно» CSV (хотя CSV формально не определены) и потенциально необходимые для обеспечения запятые внутри поля правильно понят любым читает вывод. Если вы просто хотите присоединиться к полям с запятыми, пропустите CSV-библиотеку и вместо этого используйте '[output] .join (',')'. – Owen
Я не могу воспроизвести вашу проблему. Вывод кода «Это рубиновый вывод» без кавычек, как и должно быть. Он будет выводить кавычки, если для параметра «force_quotes» установлено значение true, но по умолчанию оно ложно, а ваш фрагмент не устанавливает его. Он будет выводить кавычки, если у вас есть кавычки или запятые в вашей строке, но у вас их нет. Короче, пожалуйста, проверьте свой пример снова; если нет, сообщите, с каким Ruby вы работаете, потому что что-то очень странно. – Amadan
@Owen: Запись CSV вручную опасна и не рекомендуется. – Amadan