gpt4 book ai didi

ruby-on-rails - Ruby CSV 文件解析,标题不会格式化?

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

我的 rb 文件是这样的:

require "csv"
puts "Program1 initialized."

contents = CSV.open "data.csv", headers: true
contents.each do |row|
name = row[4]
puts name
end

...但是当我在 ruby​​ 中运行它时,它不会加载程序。它给了我关于标题的错误信息:

syntax error, unexpected ':', expecting $end
contents = CSV.open "data.csv", headers: true

所以我想弄明白,为什么 ruby​​ 不让我解析这个文件?我试过使用我拥有的其他 csv 文件,但它无法加载,并给我一条错误消息。我只是想让程序开始运行!我觉得这与标题有关。我已经尽可能多地更新了,请注意我使用的是 ruby​​ 1.8.7。我在其他地方读到我可以尝试在 irb 中运行该程序,但它似乎并不需要它。所以是的......提前谢谢你!!!!

最佳答案

由于您是在 Ruby 1.8.7 中使用它,:headers => true 将无法以这种方式工作。忽略标题并获取数据的最简单方法是移动数据中的第一行,即标题:

require 'csv'
contents = CSV.open("data.csv", 'r')
contents.shift

contents.each do |row|
name = row[4]
puts name
end

如果您确实想在 ruby​​ 1.8 中使用带有 header 的语法,则需要使用 FasterCSV,类似于此:

require 'fastercsv'

FasterCSV.foreach("data.csv", :headers => true) do |fcsv_obj|
puts fcsv_obj['name']
end

(请参阅此问题以进一步阅读:Parse CSV file with header fields as attributes for each row)

关于ruby-on-rails - Ruby CSV 文件解析,标题不会格式化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21199125/

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