gpt4 book ai didi

ruby - 如何使用 Ruby 将列标题写入 csv 文件?

转载 作者:数据小太阳 更新时间:2023-10-29 06:31:21 24 4
gpt4 key购买 nike

我在使用 Ruby 将列写入 csv 文件时遇到问题。下面是我的代码片段。

 calc = numerator/denominator.to_f
data_out = "#{numerator}, #{denominator}, #{calc}"
File.open('cdhu3_X.csv','a+') do|hdr|
hdr << ["numerator","denominator","calculation\n"] #< column header
hdr << "#{data_out}\n"
end

代码将列标题添加到每一行,我只需要将它放在每列数据的顶部。我已经在这里和其他地方进行了搜索,但找不到有关其完成方式的明确答案。任何帮助将不胜感激。

最佳答案

我建议改用 CSV 库:

require 'csv'

CSV.open('test.csv','w',
:write_headers=> true,
:headers => ["numerator","denominator","calculation"] #< column header
) do|hdr|
1.upto(12){|numerator|
1.upto(12){ |denominator|
data_out = [numerator, denominator, numerator/denominator.to_f]
hdr << data_out
}
}
end

如果你不能使用 w 选项而你确实需要 a+ (例如,数据不是一次全部可用),那么你可以尝试以下技巧:

require 'csv'

column_header = ["numerator","denominator","calculation"]
1.upto(12){|numerator|
1.upto(12){ |denominator|
CSV.open('test.csv','a+',
:write_headers=> true,
:headers => column_header
) do|hdr|
column_header = nil #No header after first insertion
data_out = [numerator, denominator, numerator/denominator.to_f]
hdr << data_out
end
}
}

关于ruby - 如何使用 Ruby 将列标题写入 csv 文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15905985/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com