[Python-de] Re: Code vereinfachen

Ron Opitz ron.opitz at dts.de
Thu Oct 10 18:42:08 EDT 2002


Am Donnerstag, 10. Oktober 2002 15:28 schrieben Sie:
> Ron Opitz <ron.opitz=lg8xjlp1sE8 at public.gmane.org> [2002-10-10 11:12 GMT]:
> > Hallo,
> >
> > ich bekomme Daten aus einer DB, davon sind einige
> > Felder gefüllt andere nicht, darum führe ich folgenden Code aus:
> >
> > if dat is None:
> > 	dat = ""
> > else:
> > 	dat = strip(dat)
> >
> > Dieser Code habe ich dann für jedes Feld stehen und das ist ...
> >
> > Wie kann man diesen Code einkürzen bzw innerhalb des Array (Liste)
> > "v" (Werte einer DBZeile) alle Werte in einer Schleife prüfen.
>
> Ich verstehe das so, dass du Zeilen aus einer Datenbank holst, z. B. mit
> cursor.fetchone() und die Felder in diesen Zeilen dann anpassen willst. Man
> könnte das bei den meisten Daetenbanken zwar auch im SQL lösen, aber in
> Python reicht doch eine einfeache for-Schleife, oder hab ich die Frage
> flasch verstanden?
>
> for i in range(row):
>     if row[i] is None:
>         row[i] = ""
>     else:
>         row[i] = row[i].strip()
>
> oder kürzer:
>
>     row = [col or "" for col in row]
>
> das setzt aber voraus, dass du in der Zeile nur None bzw. Strings hast.
> Ansonsten wandelt diese List Comprehension auch 0 in einen Leerstring um.

Danke Gerhardt, die Frage war richtig verstanden.

Das es so einfach ist ... Python gefällt mir immer besser.

Gruss Ron




More information about the Python-de mailing list