Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/xpath/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 阵列为空时如何不保存到csv_Ruby_Xpath_Csv_Nokogiri_Conditional - Fatal编程技术网

Ruby 阵列为空时如何不保存到csv

Ruby 阵列为空时如何不保存到csv,ruby,xpath,csv,nokogiri,conditional,Ruby,Xpath,Csv,Nokogiri,Conditional,我正在解析一个网站,我正在寻找可能有数百万行的内容。但是,csv/excel/ods不允许超过一百万行 这就是为什么我试图使用一个临时目录来排除保存空内容。但是,它不起作用:我的代码一直在csv中创建空行 这是我的代码: # create csv CSV.open("neverending.csv", "w") do |csv| csv << ["kuk","date","name"] # loop through all urls File.foreach("neverendin

我正在解析一个网站,我正在寻找可能有数百万行的内容。但是,csv/excel/ods不允许超过一百万行

这就是为什么我试图使用一个临时目录来排除保存空内容。但是,它不起作用:我的代码一直在csv中创建空行

这是我的代码:

# create csv
CSV.open("neverending.csv", "w") do |csv|
csv << ["kuk","date","name"]

# loop through all urls
File.foreach("neverendingurls.txt") do |line|
begin
doorzoekbarefile = Nokogiri::HTML(open(line))
for k in 1..999 do

# PROVISIONARY / CONDITIONAL
unless doorzoekbarefile.at_xpath("//td[contains(style, '60px')])[#{k}]").nil?

# xpaths
kuk = doorzoekbarefile.at_xpath("(//td[contains(@style,'60px')])[#{k}]")
date = doorzoekbarefile.at_xpath("(//td[contains(@style, '60px')])[#{k}]/following-sibling::*[1]")
name = doorzoekbarefile.at_xpath("(//td[contains(@style, '60px')])[#{k}]/following-sibling::*[2]")

# save to csv
csv << [kuk,date,name]

end
end
end

rescue
puts "error bij url #{line}"
end
end
end
#创建csv
CSV.open(“neverending.CSV”,“w”)do | CSV|

csv这实际上与xpath无关。它是简单数组#空

row=[kuk,date,name]

csv
csv谢谢你生态。我相信我是通过使用
行.compact.any?
row = [kuk,date,name]
csv << row if row.compact.empty?