gpt4 book ai didi

ruby-on-rails - 如何从 ruby​​ 中的 CSV 文件中获取标题

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

我需要在解析 CSV 文件中的数据之前验证其中的 header 。

# convert the data into an array of hashes
CSV::Converters[:blank_to_nil] = lambda do |field|
field && field.empty? ? nil : field
end
csv = CSV.new(file, :headers => true, :header_converters => :symbol, :converters => [:all, :blank_to_nil])
csv_data = csv.to_a.map {|row| row.to_hash }

我知道我可以使用 headers 方法来获取标题

    headers = csv.headers

但是headers method的问题是“如果不使用 header 则返回 nil,如果将使用但尚未读取则返回 true,或者在读取 header 后返回实际 header 。”

因此,如果我将 headers = csv.headers 置于 csv_data = csv.to_a.map {|row| 之上row.to_hash }headerstrue 如果我在读取数据后放置它,headers 包含数组中的标题行。它在我的方法上强加了指令顺序,这很难测试并且是糟糕的编程。

在这种情况下,有没有办法在不强加顺序的情况下读取标题行?我正在使用 ruby 2.0。

最佳答案

CSV.open(file_path, &:readline)

关于ruby-on-rails - 如何从 ruby​​ 中的 CSV 文件中获取标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21078580/

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