CSV (Comma Separated Values、カンマ区切り値列) と呼ばれる形式は、 スプレッドシートやデータベース間でのデータのインポートやエクスポート における最も一般的な形式です。``CSV 標準'' は存在しないため、 CSV 形式はデータを読み書きする多くのアプリケーション上の操作に応じて 定義されているにすぎません。標準がないということは、異なるアプリケーション によって生成されたり取り込まれたりするデータ間では、しばしば微妙な 違いが発生するということを意味します。こうした違いのために、複数の データ源から得られた CSV ファイルを処理する作業が鬱陶しいものになる ことがあります。とはいえ、デリミタ (delimiter) やクオート文字の 相違はあっても、全体的な形式は十分似通っているため、こうしたデータを 効率的に操作し、データの読み書きにおける細々としたことをプログラマ から隠蔽するような単一のモジュールを書くことは可能です。
csv モジュールでは、CSV 形式で書かれたテーブル状の データを読み書きするためのクラスを実装しています。 このモジュールを使うことで、プログラマは Excel で使われている CSV 形式に関して詳しい知識をもっていなくても、 ``このデータを Excel で 推奨されている形式で書いてください'' とか、 ``データを Excel で 作成されたこのファイルから読み出してください'' と言うことができます。 プログラマはまた、他のアプリケーションが解釈できる CSV 形式を記述したり、 独自の特殊な目的をもった CSV 形式を定義することができます。
csv モジュールの reader および writer オブジェクトはシーケンス型を読み書きします。プログラマは DictReader や DictWriter クラスを使うことで、 データを辞書形式で読み書きすることもできます。
参考: