require 'csv'
require 'yaml'
: header => true
hinzugefügt wird.hash_arr = CSV.read(path_to_csv, :headers => true).map(&:to_h)
=>[{"region_id"=>"1", "country_id"=>"1", "region_name"=>"Hokkaido"}, {"region_id"=>"2", "country_id"=>"1", "region_name"=>"Präfektur Aomori"},...]
File.open(path_to_yaml, 'w') { |f| f.write(hash_arr.to_yaml) }
Nachtrag: Es scheint, dass das gleiche Schreiben unten gemacht werden kann. Danke für deinen Kommentar!
IO.write path_to_yaml, hash_arr.to_yaml
P.S Abgesehen davon habe ich eine Tabelle (Land oder Region) verwaltet, deren Wert in der Datenbank im Wesentlichen unverändert ist. Deshalb habe ich sie dieses Mal konvertiert, um sie mit ActiveYaml zu verwalten. Selbst wenn es von ActiveYaml verwaltet wird, ist es praktisch, da Sie die Tabelle wie ActiveRecord bedienen können (Klassenmethoden wie all und find können verwendet werden).
Recommended Posts