ruby nokorigi экспорт столбцов csv - PullRequest
0 голосов
/ 27 сентября 2018

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

require 'nokogiri'
require 'csv'

page = Nokogiri::HTML(open("index.html"))

fullName = page.css('li._5i_q').css("a[data-gt]").children.map {|name| name.text }
shortURL = page.css('li._5i_q').css("._5j0e a[data-hovercard]")
myID = shortURL.map {|element|
  element["data-hovercard"][/id=([^&]*)/].gsub('id=', '')
}
messenger = shortURL.map {|element|
  element["data-hovercard"][/id=([^&]*)/].gsub('id=', '') + "@gmail.com"
}

attributes = %w{ID FullName Messenger}

CSV.open('chatId.csv', 'w') do |csv|
  csv << attributes

  myID.each do |x|
      csv << [x]
  end
  fullName.each do |y|
      csv << [y]
  end
  messenger.each do |z|
    csv << [z]
  end
end

Это весь мой код

1 Ответ

0 голосов
/ 29 сентября 2018

Вам придется писать построчно при экспорте данных в CSV.Поэтому попробуйте создать массив [x, y, z] и экспортировать их, используя метод to_csv.Например:

data = myID.zip(fullName, shortUrl)

CSV.open('chatId.csv', 'w') do |csv|
  csv << attributes
  csv << "\n"
  data.each do |d|
    csv << d.to_csv
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...