python 3师使用mysql响应

时间:2017-03-31 19:51:01

标签: python mysql

我是编程python的新手,遇到了一个问题。我正在查询一个mysql数据库,它通过将响应除以另一个数字来返回我想要使用的值。我有以下代码:

def sum_perchange_by_sector(dates, num):
   for row, in dates:
   cur = con.cursor()
   cur.execute("select sum(dbdev.perchange) from dbdev inner join symbol

    on dbdev.symbol_id = symbol.id where symbol.sector =
    'Industrials' and dbdev.price_date = %s;",(row))

    sumer=cur.fetchone()[0]
    print(type(sumer))
    print(type(num))
    av=sumer/num
    print(av)

当我运行代码时,我得到以下输出:

<class 'NoneType'>
<class 'int'>
av=sumer/num
TypeError: unsupported operand type(s) for /: 'NoneType' and 'int'

如果我注释掉这些行:

av=sumer/num
print(av)

输出显示类型为

<class 'float'>
<class 'int'>

我不明白这种类型是如何改变的以及为什么这种划分不起作用?

1 个答案:

答案 0 :(得分:0)

这些线路确实不可能有所作为。 “sumer”更有可能在每次运行时都有所不同 - “NoneType”可能对应于从查询中返回的结果。