/ / CSVクラスを使用してRubyで.csvファイルを解析する-ruby、csv

CSVクラスを使用してRubyで.csvファイルを解析する - ruby​​、csv

Ruby1.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を機能させることはできません(方法がわかりません) require "csv" IRBで)だから私は特にエラーはありませんメッセージ。これに対する私の期待は、シンボルを含まないヘッダーを持つ配列(CSV_Total)を作成することです。次のステップは、その配列を新しいファイルに戻すことです。基本的にはCSVファイルをスクラブします。

回答:

回答№1の場合は12

Rubyには、独自の組み込みのCSVライブラリがありましたが、これは次のように置き換えられました。 FasterCSV バージョン1.9以降、ドキュメントのリンクをクリックしてください。

あなたの側で必要なのは、を介してCSVクラスをインポートするために使用することだけです。 require "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"]]