1

CSV ファイルから解析された値を YAML ファイルに書き込みたい:

home_phone = row['HomePhone']
 if home_phone.length == 10  
  puts "First Name: #{row['first_Name']} - Home Phone: #{home_phone} -  Zip Code: #{zip_code}"
  elsif home_phone.length == 11 && home_phone.start_with?('1')   
  home_phone.slice!(0)
      puts "First Name: #{row['first_Name']} - Home Phone: #{home_phone} -  Zip Code: #{zip_code}"   
  else  
      puts "First Name: #{row['first_Name']} - Home Phone: #{"0000000000"} -  Zip Code: #{zip_code}"      
  end

上記のコードは、詳細を行ごとに出力するために使用されます。コードから得られる出力は次のとおりです。

First Name: Douglas - Home Phone: 4252745000 -  Zip Code: 50309'

'First Name: Aya - Home Phone: 9995901339 -  Zip Code: 90210'

'First Name: Audrey - Home Phone: 0 -  Zip Code: 05667'

これらの値を YAML ファイルに書き込むにはどうすればよいですか?

4

3 に答える 3

0

行データがハッシュの場合 (そのように見えます)、次のようにto_yamlを使用してみてください。

File.open(<path to your output file here>, "w") { |f| f.write(row.to_yaml) }

次に、次のように読むことができます。

YAML.load_file(<path to your output file here>)
于 2013-01-24T08:29:17.280 に答える
-1
require 'yaml'
File.open('somefile.yaml','w') do |f|
  f.write(row['first_Name'])
  f.write(row['home_phone'])
  f.write(row['zip_code'])
end
于 2013-01-24T08:23:11.947 に答える