Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- require 'yaml'
- def putsheader(keys)
- output_line = ''
- keys.each do |key|
- output_line = key + "\t"
- end
- output_line << "\n"
- end
- def putsdata(data_values)
- output_line = ''
- data_values.values.each do |data|
- output_line = data + "\t"
- end
- output_line << "\n"
- end
- def yml_to_tsv(input, output)
- yaml_data = YAML.load_file(input)
- yaml_keys = yaml_data[1].keys
- write_file = nil
- write_file = File.open(output, 'w') unless output.nil?
- case write_file
- when nil
- puts(putsheader(yaml_keys)) # also put data
- (0...yaml_data.size).each do |line_number|
- puts(putsdata(yaml_data[line_number]))
- end
- else write_file.write(putsheader(yaml_keys))
- (0...yaml_data.size).each do |line_number|
- write_file.write(putsdata(yaml_data[line_number]))
- end
- end
- end
- input = ARGV[0]
- output = ARGV[1]
- yml_to_tsv(input, output) unless input.nil?
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement