Как экспортировать массив Ruby в одну строку CSV? - PullRequest
0 голосов
/ 03 мая 2019

Я хочу передать массив в CSV в виде одной строки.Код ниже демонстрирует то, что я сейчас пытаюсь.Массив имеет переменную длину и будет демонстрировать что-то вроде этого.

a = ["website url", "page link", "page link", "page link"]

Код, по сути, отправляется на страницу с использованием open-uri и очищает ссылки каждой страницы.Это используется для внутренней проверки и сверяется с тем, что мы ожидаем.Если ссылка соответствует ожидаемой, она передается в CSV как переменная ссылки на страницу, показанная выше.

В настоящее время я пытался использовать to_csv для форматирования данных, но внутри csv все в одной строке, включая разделение запятыми.

def dwrite (array)
    CSV.open("filename.csv", "ab") do |csv|
            data = array.to_csv(row_sep: nil)
            csv << [data]
    end
end

Это пример того, как выглядит CSV в одном столбце:

https://www.url.com/example-page.html
#,
#,,
#,,,
#,,,,
#,,,,,
#,,,,,,
#,,,,,,,
#,,,,,,,,
#,,,,,,,,,
#,,,,,,,,,,
#,,,,,,,,,,,
#,,,,,,,,,,,,
#,,,,,,,,,,,,,
#,,,,,,,,,,,,,,
#,,,,,,,,,,,,,,,
https://anotherexamplepage.html

Я надеялся, что каждый элемент массива, переданный в метод, будет отображаться на одной строкено, похоже, это не так.Любая помощь будет высоко ценится.

1 Ответ

0 голосов
/ 03 мая 2019

Вам не нужно преобразовывать массив каким-либо образом. Просто добавьте его в CSV:

def dwrite(array)
  CSV.open("filename.csv", "ab") do |csv|
    csv << array
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...