Python Doku hat geschrieben:register_dialect(name[, dialect][, fmtparam])
Associate dialect with name. name must be a string or Unicode object. The dialect can be specified either by passing a sub-class of Dialect, or by fmtparam keyword arguments, or both, with keyword arguments overriding parameters of the dialect.
Ich will das schon gerne mit ner Klasse, da ich mehrere Formatparemeter angeben will. Aber ich hatte die Fehlermeldung falsch verstanden, ich dachte, das Problem liegt an dem
self.quoting=... .
Aber er versteht beim register_dialect-Aufruf anscheinend nicht, dass es sich um eine dialect-klasse handelt und nicht um den quoting-Format-Parameter. Mmhh...
Code: Alles auswählen
class ExcelDe(csv.Dialect):
def __init__(self):
self.delimiter = ";"
csv.register_dialect("excel_de", dialect=ExcelDe)
Code: Alles auswählen
rbreu@zam285:~> python2.4 test.py
Traceback (most recent call last):
File "test.py", line 8, in ?
csv.register_dialect("excel_de", dialect=ExcelDe)
TypeError: register_dialect() takes no keyword arguments
rbreu@zam285:~> python2.5 test.py
Traceback (most recent call last):
File "test.py", line 8, in <module>
csv.register_dialect("excel_de", dialect=ExcelDe)
TypeError: "quoting" must be an integer
Hilft auch nicht...