如何在Ruby中重命名CSV标头?

wis*_*lin 4 ruby csv

我有一个CSV文件,我想将这些记录合并到现有的CSV文件中.但是,这两个文件的标题名称不同.如何干净有效地重命名CSV标题,以便匹配我正在合并的文件?

wis*_*lin 7

回答:

CSV::HeaderConverters[:map_to_main] = lambda do |header|
  # work your magic here
  header
end
CSV.open(file,
  headers: true,
  header_converters: :map_to_main).to_a.map(&:to_hash)
Run Code Online (Sandbox Code Playgroud)