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の場合は12Rubyには、独自の組み込みの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"]]