9.1.2 Dialect クラスと書式化パラメタ

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

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

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

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

出力においては、doublequoteFalseescapechar がセットされていない場合、フールド内に quotechar が現れると Error が送出されます。

escapechar
writer が、 quotingQUOTE_NONE に設定されている場合に delimiter をエスケープするため、および、 doublequoteFalse の場合に quotechar をエスケープするために用いられる、 1 文字からなる文字列です。 読み込み時には escapechar はそれに引き続く文字の特別な意味を取り除きます。 デフォルトでは None で、エスケープを行ないません。

lineterminator
writer が作り出す各行を終端する際に用いられる文字列です。 デフォルトでは '\r\n' です。

注意: reader'\r' または '\n' のどちらかを行末と 認識するようにハードコードされており、 lineterminator を無視します。 この振る舞いは将来変更されるかもしれません。

quotechar
delimiterquotechar といった特殊文字を含むか、 改行文字を含むフィールドをクオートする際に 用いられる 1 文字からなる文字列です。デフォルトでは '"' です。

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

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

ご意見やご指摘をお寄せになりたい方は、 このドキュメントについて... をご覧ください。