PostgreSQL返回:float()参数必须是字符串或数字,而不是' NoneType'

时间:2017-02-01 08:57:35

标签: python postgresql nonetype

Python中,我使用psycopg2PostgreSQL执行一些命令。如果我的数据库中有一些空单元格只由浮点数组成,我想管理。我试着使用这段代码:

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

但是当它找到一个空单元格时,它会返回:float() argument must be a string or a number, not 'NoneType'。那我怎么能处理这种情况呢?

2 个答案:

答案 0 :(得分:1)

使用以下代码捕获空浮点数:

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

答案 1 :(得分:0)

您可以在代码中显示my_number变量吗?

我认为您可能希望使用float(row),因为这似乎是您要查询的数字,因为您将数字保存到rows并迭代它们。