7

我正在使用 Ruby 1.9.3 并且我发现了 CSV 类,但我无法让它工作。基本上,我希望能够操作 CSV 的各种选项,然后将 .csv 文件拉入一个数组以使用,最终将该数组推回到一个新文件中。

这是我目前拥有的:

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

CSV_Total = CSV.Read(File.Path("C:\Scripts\SQL_Log_0.csv"))

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

4

1 回答 1

12

Ruby 曾经有它自己的内置 CSV 库,从 1.9 版开始,它已被FasterCSV取代,单击文档链接。

您所需要做的就是使用通过require 'csv'语句导入 CSV 类,无论您想在哪里使用它并进行相应的处理。使用 foreach 语句构建数组非常容易,例如:

人.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"]]
于 2013-05-29T19:34:39.800 回答