0

我想要做的是在我的 sampleid 文本文档中获取我所有的产品 ID,并让我的脚本在每个创建具有该 ID 的产品 URL 中循环。我还希望将 id 和完整的 url 输出到一个 csv 文件中,但我下面的代码似乎只在我的文档中生成最后一个 id ......我假设它不会移动到下一行each_line do

#!/usr/bin/ruby
# ProductID script
puts "Enter current token"
auth_token = gets.chomp
File.open("sampleid.txt", "r").each_line do |line|
productNumber = line
  restcall = "mywebsite.com&token=" + auth_token + "&something.com/" + productNumber + ""
require 'csv'
CSV.open("/Users/Documents/scripts/ruby/rb_output.csv", "wb") do |csv|
  csv << ["Product ID", "Full Call"]
  csv << [productNumber, restcall]
end
end
4

1 回答 1

0

您正在为每一行重新打开文件,这意味着您正在为 .each_line 的每次迭代重写文件。尝试这个:

require 'csv'

puts "Enter current token"
auth_token = gets.chomp
CSV.open("/Users/Documents/scripts/ruby/rb_output.csv", "wb") do |csv|
    File.open("sampleid.txt", "r").each_line do |line|
        productNumber = line
        restcall = "mywebsite.com&token=" + auth_token + "&something.com/" + productNumber + ""

        csv << ["Product ID", "Full Call"]
        csv << [productNumber, restcall]
    end
end
于 2012-12-05T00:50:30.043 回答