QA@IT
«質問へ戻る

質問を投稿

Rubyでスクレイピングした配列を上手くCSVに保存できない。

宜しくお願いします。
長く分かりにくいので、ちょっと省いて説明します。
ブロックのcompanyから1つずつ(company_nameとmail_addres)を取得し、
配列にpushしつつ、最後にcsvファイルを生成したいのですが、
結果は


会社名,メールアドレス
"["" company_name""]"
[nil]


と末尾の要素しか取得できていません。ブロック内の要素を一つずつpushしているつもりなのですが、、、
もし分かりにくいようでしたら、全てのソースコードお見せします、、

/[\w\d_-]+@[\w\d_-]+.[\w\d._-]+/はメールアドレスの正規表現です。

   @company_name = []
   @mail_address = []

A.each do |company|
  @company_name.push(company.text)
  @mail_address.push(company.scan(/[\w\d_-]+@[\w\d_-]+\.[\w\d._-]+/))
end
CSV.open("XXX.csv","w") do |csv|
    csv << [@company_name]
    csv << [@mail_address]
end
宜しくお願いします。
長く分かりにくいので、ちょっと省いて説明します。
ブロックのcompanyから1つずつ(company_nameとmail_addres)を取得し、
配列にpushしつつ、最後にcsvファイルを生成したいのですが、
結果は
___
会社名,メールアドレス
"["" company_name""]"
[nil]
____
と末尾の要素しか取得できていません。ブロック内の要素を一つずつpushしているつもりなのですが、、、
もし分かりにくいようでしたら、全てのソースコードお見せします、、

/[\w\d_-]+@[\w\d_-]+\.[\w\d._-]+/はメールアドレスの正規表現です。
```
   @company_name = []
   @mail_address = []

A.each do |company|
  @company_name.push(company.text)
  @mail_address.push(company.scan(/[\w\d_-]+@[\w\d_-]+\.[\w\d._-]+/))
end
CSV.open("XXX.csv","w") do |csv|
    csv << [@company_name]
    csv << [@mail_address]
end
```