Seite 1 von 1

Anfänger: Varianle(float) als String einlesen

Verfasst: Freitag 2. Dezember 2011, 13:27
von martinjo
Hallo

kann ich einen Variable direkt beim einlesen in einen String umwandeln?

Hintergrund ist, dass ich UnicodeWriter (http://docs.python.org/library/csv.html#examples) verwenden muss um meinen Produktnamen mit Umlauten für eine CSV einzulesen. Dann kann ich allerdings den Produktcode nicht mehr schreiben.

Code: Alles auswählen

UnicodeWriter.writerow([product.code, product.name])
-> AttributeError: 'float' object has no attribute 'encode'

Code: Alles auswählen

csv-writer.writerow([product.code, product.name])
 -> UnicodeEncodeError: 'ascii' codec can't encode character

Re: Anfänger: Varianle(float) als String einlesen

Verfasst: Freitag 2. Dezember 2011, 13:54
von cofi
Du hast 3 Moeglichkeiten:
1. Du passt den Code von `UnicodeWriter` an.
2. Du fuetterst `UnicodeWriter` nur mit Strings, d.h. du formatierst den Produkt-Code (ein float Produkt-Code?!).
3. Du verwendest direkt `csv.writer` und fuetterst ihn mit korrekt kodierten Strings (d.h. keine `unicode` Objekte mehr, sondern schon Byte`string`s).

Re: Anfänger: Varianle(float) als String einlesen

Verfasst: Freitag 2. Dezember 2011, 14:25
von martinjo
Danke, ich habe mich für die zweite Möglichkeit entschieden (die einzige wo ich hinbekomme xD). Es war übrigens die Gewichtsangabe, nicht die Artikelnummer.