##
2 Dialect クラスと書式化パラメタ

レコードに対する入出力形式の指定をより簡単にするために、 特定の書式化パラメタは表現形式 (dialect) にまとめてグループ化されます。 表現形式は `Dialect` クラスのサブクラスで、様々なクラス特有の メソッドと、`validate()` メソッドを一つ持っています。 `reader` または `writer` オブジェクトを生成するとき、 プログラマは文字列または `Dialect` クラスのサブクラスを表現形式 パラメタとして渡さなければなりません。さらに、dialect パラメタ の代りに、プログラマは上で定義されている属性と同じ名前を持つ 個々の書式化パラメタを `Dialect` クラスに指定することができます。

Dialect は以下の属性をサポートしています:

`delimiter`
  フィールド間を分割するのに用いられる 1 文字からなる文字列です。 デフォルトでは `','` です。

`doublequote`
  フィールド内に現れた quotechar のインスタンスで、クオートではない その文字自身でなければならない文字をどのようにクオートするかを制御します。 `True` の場合、この文字は二重化されます。 `False` の場合、 escapechar は 1 文字からなる文字列で なければならず、quotechar の前に置かれます。デフォルトでは `True` です。

`escapechar`
  quoting が `QUOTE_NONE` に設定されている場合に、 delimiter をエスケープするために用いられる、 1 文字からなる文字列です。 デフォルトでは `None` です。

`lineterminator`
  CSV ファイルの各行を終端する際に用いられる文字列です。 デフォルトでは `'\r\n'` です。

`quotechar`
  delimiter を含むか、quotechar から始まる要素をクオートする際に 用いられる 1 文字からなる文字列です。デフォルトでは `'"'` です。

`quoting`
  writer によってクオートがいつ生成されるかを制御します。 `QUOTE_*` 定数のいずれか (12.20.1 節参照) を とることができ、デフォルトでは`QUOTE_MINIMAL` です。

`skipinitialspace`
  `True` の場合、delimiter の直後に続く空白は無視されます。 デフォルトでは `False` です。