【问题标题】:PostgreSQL returns: float() argument must be a string or a number, not 'NoneType'PostgreSQL 返回:float() 参数必须是字符串或数字,而不是 'NoneType'
【发布时间】:2017-02-01 08:57:34
【问题描述】:

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'。那么我该如何应对这种情况呢?

【问题讨论】:

  • 什么是my_number
  • 使用:my_number::float

标签: python postgresql nonetype


【解决方案1】:

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

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

【讨论】:

    【解决方案2】:

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

    我认为您可能想要使用 float(row),因为这似乎是您要查询的号码,因为您将这些号码保存到 rows 并对其进行迭代。

    【讨论】:

      猜你喜欢
      • 2020-04-24
      • 1970-01-01
      • 1970-01-01
      • 2020-10-04
      • 1970-01-01
      • 1970-01-01
      • 2022-06-14
      • 2023-02-18
      • 2019-05-22
      相关资源
      最近更新 更多