Ruby 我需要复制3列从一个巨大的csv文件到一个新的csv文件。怎么做?

Ruby 我需要复制3列从一个巨大的csv文件到一个新的csv文件。怎么做?,ruby,csv,export-to-csv,Ruby,Csv,Export To Csv,我对ruby很陌生。这是我的代码: require 'csv' csv = CSV.read('C:\Users\hp1\Desktop\Datasets\000.csv', :headers=>true) p csv['timestamp'] f = File.new('C:\Users\hp1\Desktop\Datasets\Columns_000.csv', 'wb') f.puts(p) f.close 我想在这段代码中做的是,我想读取000.csv文件,并

我对ruby很陌生。这是我的代码:

require 'csv'

csv = CSV.read('C:\Users\hp1\Desktop\Datasets\000.csv', :headers=>true)

p csv['timestamp']
f = File.new('C:\Users\hp1\Desktop\Datasets\Columns_000.csv', 'wb')
    f.puts(p)
    f.close
我想在这段代码中做的是,我想读取000.csv文件,并将名为“timestamp”的列复制到另一个csv中,Columns_000.csv

但实际情况是,它将时间戳列的值写入我的终端。相反,我希望它将它们写在新的csv上

我还有两个类似的列,我想复制到新的csv。是否有一种方法可以将它们全部复制到一起,或者我需要一个一个地复制它们?

COLUMNS=['timestamp','other1','other2']
COLUMNS = ['timestamp', 'other1', 'other2']

# open new csv for writing
CSV.open("C:\Users\hp1\Desktop\Datasets\000_out.csv", "wb") do |csv|
  # iterating existing csv rows
  CSV.foreach('C:\Users\hp1\Desktop\Datasets\000.csv', :headers=>true) do |row|
    # select only those specified above columns
    csv << COLUMNS.map { |col| row[col] }
  end
end
#打开新的csv进行写入 CSV.open(“C:\Users\hp1\Desktop\Datasets\000_out.CSV”,“wb”)do|CSV| #迭代现有csv行 CSV.foreach('C:\Users\hp1\Desktop\Datasets\000.CSV',:headers=>true)do |行| #仅选择以上列中指定的内容
哇!谢谢!它起作用了!但是你能帮我理解吗?比如,什么是“有一位伟大的老师随时准备帮助你理解任何代码;她的名字是Ruby documentation:;。顺便说一句。哈哈。是的,我问过很多次,你知道。但她解释得不好。例如,她提到,“#在这里使用row…”。。。"; 但她没有说,这一行在这里究竟应该如何使用。无论如何,非常感谢:)