[Python-de] Re: Code vereinfachen

Ron Opitz ron.opitz at dts.de
Fri Oct 11 11:26:18 EDT 2002


Am Donnerstag, 10. Oktober 2002 17:42 schrieben Sie:
> 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.
>
Hallo,

wenn es nur so einfach wäre ...

ich habe die Änderungen mal vollzogen, aber range verlangt als Endwert ein 
int. Der Rückgabewert der DB-Zeile (row) ist ein Tuple und da Tuples keine 
Methoden haben geht auch kein count() um die Anzahl der Elemente zu zählen.
Was nun? Hat einer eine Idee?

Gruss Ron





More information about the Python-de mailing list