ruby - 如何将 yaml 转换为电子表格?

标签 ruby yaml spreadsheet

我如何使用 ruby​​ 转换 yaml 文件并将单元格上的缩进格式保持为电子表格文件。

像这样的 yaml 文件:

https://github.com/rails/rails/blob/v2.3.10/activesupport/lib/active_support/locale/en.yml

最佳答案

您没有明确说明您希望此电子表格的外观,所以我不能具体说明,但您可以使用 YAML库将文件读入数据结构,然后将数据结构转换为表(字符串数组),然后使用 CSV库将其输出到文件。

require 'yaml'
require 'csv'

yaml_txt = File.read 'input.yaml'
yaml_data = YAML.load yaml_txt

csv_table = [
    [1,'hello world', true], 
    ['a', 'b', 3.14159, 'c', 2, 3e8], 
    [nil, 'another row', 'bla']
]
#replace this^ with something that converts the yaml_data into a 2D array

File.open 'output.csv', 'w' do |f|
    f.puts( csv_table.map do |row|
        CSV.generate_line row
    end.join "\n" )
end

当前示例将产生:

1,hello world,true
a,b,3.14159,c,2,300000000.0
,another row,bla

在 output.csv 中。

然后您可以使用以下选项打开 CSV 电子表格:

alt text

关于ruby - 如何将 yaml 转换为电子表格?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4306173/

相关文章:

ruby-on-rails - rails mongoid 清晰的标准

ruby - 用 Ruby 整数位制作 bool 数组

c++ - 如何将 SWIG 用于 STL map ?

json - 如何创建过滤多个源的 EventPattern(在 EventBridge 规则内)?

amazon-web-services - AWS CloudFormation 的多个参数和输入 [SNS 主题]

ruby - 如何在 CSV 文件中生成列而不是行

iphone GData 电子表格无法识别的选择器

ruby - 枚举器的循环魔术(同时没有中断和无限循环)

image - Docker是否可以自动重启容器并使用新的镜像标签提交更改?

function - 是否有excel vb的功能可以连续检查工作表?