Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > csvライブラリ
CSV (Comma Separated Values) を扱うライブラリです。
このバージョンの CSV ライブラリは FasterCSV から始まりました。 FasterCSV は Ruby1.8 に標準添付されている CSV ライブラリの置き換えとして開発されました。 このライブラリはユーザの関心事を解決するためにデザインされています。 主なゴールが三つあります。
明らかに最後のものは主観的です。変更するやむを得ない理由が無い限り、オリジナルの インターフェイスに従うようにしたので、おそらく旧 CSV ライブラリとはあまり 大きな違いは無いでしょう。
大きな違いについて言及します。
CSV ライブラリは [RFC4180] から直接とられたかなり厳しい定義を維持します。 一ヶ所だけ定義を緩和することでこのライブラリを使いやすくしています。CSV は すべての有効な CSV ファイルをパースします。
What you don't want to do is feed CSV invalid data. Because of the way the CSV format works, it's common for a parser to need to read until the end of the file to be sure a field is invalid. This eats a lot of time and memory.
Luckily, when working with invalid CSV, Ruby's built-in methods will almost always be superior in every way. For example, parsing non-quoted fields is as easy as:
data.split(",")
class CSV | このクラスは CSV ファイルやデータに対する完全なインターフェイスを提供します。 |
class CSV::FieldInfo | 行が読み込まれたデータソース内でのフィールドの位置の情報を格納するための 構造体です。 |
class CSV::Row | CSV::Row は配列やハッシュのように似ています。 |
class CSV::Table | CSV::Table は CSV ドキュメントを表す二次元のデータ構造です。 行単位や列単位の操作を行うことが出来ます。また必要であれば CSV に 戻すこともできます。 |
class CSV::MalformedCSVError | 不正な CSV をパースしようとしたときに発生する例外です。 |