Lesen von CSV: Trennzeichen muss ein string sein, nicht in unicode

Hatte ich eine funktionierende routine (nach ein paar hilfsbereite Leute gab mir einige kritische Beratung in diese thread) erstellen von Modell-Instanzen aus einer CSV-Datei. Bis jetzt habe ich mit Python 2.7 und sicher gestellt, dass keine Sonderzeichen erschien überall. Derzeit muss ich verschieben auf Unicode. Ich fügte hinzu,

# -*- coding: utf-8 -*-

oben auf meine Dateien und alles wunderbar funktioniert (ich kann die Sonderzeichen in meinem code und Kommentare), speichern Sie die CSV-reader-routine. Nämlich die shell-Objekte zu diesem Artikel:

dataReader = csv.reader(open(filename), delimiter=';', quotechar='"')

war vor der Arbeit, mit

TypeError: "delimiter" must be string, not unicode

Nach der Lektüre einige ältere Fragen, die ich eingeschaltet, um

dataReader = csv.reader(open(filename), delimiter=str(u';'), quotechar=str(u'"'))

durchzusetzen, die Tatsache, dass das Trennzeichen wäre ein string, aber ich bin immer genau der gleiche Fehler. Was mache ich falsch?

  • Versuchen Sie es mit : delimiter=str(u';').encode('utf-8')
  • Es funktioniert, ich danke Ihnen sehr. Könnten Sie mir einen Tipp geben, wie ich sollte, es gefunden zu haben? [Bitte posten Sie die 'Antwort' und ich werde es akzeptieren]
  • Haben Sie nicht verschoben, um Python ist3.x?
  • Nein. Wahrscheinlich sollte ich habe. 🙁
Schreibe einen Kommentar