私の現在のスクリプト:
old_ids = []
File.open("missing.txt","w") do |result|
File.open('query_result.csv', "r") do |old_copy|
old_copy.each_line do |line|
old_ids << line.chomp.to_i #add exisiting ids to array
end
end
File.open('item_info', "r") do |new_copy|
new_copy.each_line do |line|
if !old_ids.include? line.split("\t")[0].chomp.to_i #find all ids in new file that do not exist in old file and add them to missing.txt
result.puts line.split("\t")[0].chomp.to_i
puts "Adding #{line.split("\t")[0].chomp.to_i}"
end
end
end
end
これをより効率的にリファクタリングするにはどうすればよいでしょうか。私が解析したファイルには約 260 万件のレコードが含まれているため、書かれているように、実行には非常に長い時間がかかります。