加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

使用CSV类解析Ruby中的.csv文件

发布时间:2020-12-17 04:27:40 所属栏目:百科 来源:网络整理
导读:我正在使用 Ruby 1.9.3并且我发现了CSV类,但我无法使用它.基本上,我希望能够操作CSV的各种选项,然后将.csv文件拉入数组以进行操作,最终将该数组推回到新文件中. 这就是我目前所拥有的: require 'csv'CSV_Definition = CSV.New(:header_converters = :symbol
我正在使用 Ruby 1.9.3并且我发现了CSV类,但我无法使用它.基本上,我希望能够操作CSV的各种选项,然后将.csv文件拉入数组以进行操作,最终将该数组推回到新文件中.

这就是我目前所拥有的:

require 'csv'
CSV_Definition = CSV.New(:header_converters => :symbol)

CSV_Total = CSV.Read(File.Path("C:ScriptsSQL_Log_0.csv"))

但是,我不认为这是更改:header_converters的正确方法.目前我无法让IRB解析这些代码片段(我不确定如何在IRB中要求’csv’)所以我没有任何特定的错误消息.我对此的期望是创建一个数组(CSV_Total),其中包含一个没有符号的标题.下一步是将该数组放回新文件中.基本上它会擦除CSV文件.

解决方法

Ruby曾经拥有自己的内置CSV库,从1.9版开始已经被替换为版本1.9,点击链接获取文档.

您需要的只是通过require’csv’语句导入CSV类,无论您想在何处使用它并进行相应处理.使用foreach语句构建数组非常容易,例如:

people.csv

Merry,Christmas
Hal,Apenyo
Terri,Aki
Willy,Byte

process_people.rb

require 'csv'    

people = []

CSV.foreach(File.path("people.csv")) do |row|
    # Where row[i] corresponds to a zero-based value/column in the csv
    people << [row[0] + " " + row[1]]
end

puts people.to_s 
=> [["Merry Christmas"],["Hal Apenyo"],["Terri Aki"],["Willy Byte"]]

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读