Ruby 2.0.0 リファレンスマニュアル > ライブラリ一覧 > csvライブラリ
CSV (Comma Separated Values) を扱うライブラリです。
このバージョンの CSV ライブラリは FasterCSV から始まりました。 FasterCSV は Ruby1.8 に標準添付されている CSV ライブラリの置き換えとして開発されました。 このライブラリはユーザの関心事を解決するためにデザインされています。 主なゴールが三つあります。
明らかに最後のものは主観的です。変更するやむを得ない理由が無い限り、オリジナルの インターフェイスに従うようにしたので、おそらく旧 CSV ライブラリとはあまり 大きな違いは無いでしょう。
大きな違いについて言及します。
CSV ライブラリは [RFC4180] から直接とられたかなり厳しい定義を維持します。 一ヶ所だけ定義を緩和することでこのライブラリを使いやすくしています。CSV は すべての有効な CSV ファイルをパースします。
不正な CSV データを与えたくない。あるフィールドが不正であることが確定す るのはファイルを全て読み込んだ後です。これは多くの時間やメモリを消費し ます。
Ruby の組込みメソッドはほとんど全ての点でより優れています。運が良ければ 不正な CSV データを与えても動きます。例えば、クオートされていないフィー ルドだけを持つ CSV データは次のように簡単にパースできます。
data.split(",")
CSV | このクラスは CSV ファイルやデータに対する完全なインターフェイスを提供します。 |
CSV::Row | CSV::Row は配列やハッシュのように似ています。 |
CSV::Table | CSV::Table は CSV ドキュメントを表す二次元のデータ構造です。 行単位や列単位の操作を行うことが出来ます。また必要であれば CSV に 戻すこともできます。 |
CSV::FieldInfo | 行が読み込まれたデータソース内でのフィールドの位置の情報を格納するための 構造体です。 |
CSV::MalformedCSVError | 不正な CSV をパースしようとしたときに発生する例外です。 |