2017-02-01 4 views
-1

In Python verwende ich psycopg2, um einige Befehle für PostgreSQL auszuführen. Ich möchte verwalten, ob es in meiner Datenbank eine leere Zelle gibt, die nur aus Fließkommazahlen besteht. Ich habe versucht, diesen Code zu verwenden:PostgreSQL gibt zurück: float() muss eine Zeichenfolge oder eine Zahl sein, nicht 'NoneType'

cur.execute("""SELECT my_number from my_table""") 
rows = cur.fetchall() 
for row in rows: 
    try: float(my_number) 
    except: break 

Aber wenn es eine leere Zelle gründet, es gibt diese: float() argument must be a string or a number, not 'NoneType'. Wie kann ich diese Situation bewältigen?

+2

Was ist 'my_number'? –

+0

verwenden: my_number :: float – McNets

Antwort

0

Können Sie die my_number Variable in Ihrem Code anzeigen?

Ich denke, dass Sie float(row) verwenden möchten, denn das scheint die Nummer zu sein, die Sie abfragen, da Sie die Nummern in rows speichern und über sie iterieren.

1

Fang die leeren Wagen mit diesem Code:

if my_number is None: 
my_number = some_value 
else: 
float(my_number) 
+0

Dank @Svekke. Es funktioniert perfekt. –

+0

Gern geschehen! – Svekke

Verwandte Themen