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 nichtr'\t'
oder'\\t'
. Eine todsichere Methode zum erzeugen eines tab-Zeichens istchr(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.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Habe ich noch nie verwendet, eine
register_dialect
Methode, aber man kann in einemcsv.reader
hat einedelimiter
argument akzeptiert einen Wert von\t
. http://docs.python.org/library/csv.htmlCheck-out der Standard-Dialekt
excel_tab
. Können Sie es incsv.reader
Anrufe mitdialect=excel_tab
, die ersetzt die Standard -dialect=excel
verwendet CSV.