python csv register_dialect

Ich bin mit dem csv-Modul in python zu Parsen einer delimieted-Datei. Ich benutze die register_dialect Methode der csv angeben, die deleimiter und anderen Parametern. Es war in Ordnung arbeiten die ganze Zeit, aber jetzt habe ich eine Datei mit tab als Trennzeichen. Dies gibt mir den Fehler "TypeError: "delimiter" muss ein 1-Zeichen-string" auf die Verwendung von "\t " als Trennzeichen.
Gibt es eine Möglichkeit, mit der tab-Zeichen hier? Was sind meine Optionen jetzt?

Dank!!

fileObject = open(fullFilePath,'rb')
csv.register_dialect('MyDialect', delimiter='\t',doublequote=False,quotechar='',lineterminator='\n',escapechar='',quoting=csv.QUOTE_NONE)
myReader = csv.reader(fileObject,'MyDialect')

Ich verwende python 2.7.

  • Könnten Sie die post-code? da csv.register_dialect('foo', delimiter='\t') funktioniert einwandfrei bei mir... Auch könntest du uns sagen, welche python version verwendest du? danke!
  • Dein code scheint zu verlaufen.. ideone.com/nPzwy
  • Stellen Sie sicher, dass Ihr code hat '\t' und nicht r'\t' oder '\\t'. Eine todsichere Methode zum erzeugen eines tab-Zeichens ist chr(9).
  • Vielen Dank an alle. Ja, wenn ich fügte hinzu, \t, wie es geklappt hat,aber tatsächlich, es kam von einer Variablen, so etwas Veränderung auf dem Weg. Über die Verwendung der ascii-Zeichen, funktionierte es gut. Danke nochmal allen für Ihre Hilfe.
InformationsquelleAutor Rinks | 2011-12-21
Schreibe einen Kommentar