Python从mysql错误中读取数据

时间:2017-12-29 09:10:30

标签: python-3.x mysql5

我想从mysql读取一个列,乘以一个因子并写入mysql

cursor = db.cursor()
query = ('SELECT GDP FROM selectedairport')
cursor.execute(query)
gdp_list = []
for GDP in cursor:
    gdp_list.append(GDP)

weight = 0.5
num = gdp_list * weight
cursor.execute("UPDATE `selectedairport` SET `selectedairport`.`GDP`=num")

然而,这会产生错误:

TypeError: can't multiply sequence by non-int of type 'float'

我找到了gdp_list

[(50,),
 (60,),
 (80,),
 (40,)]

可能是什么问题?

1 个答案:

答案 0 :(得分:0)

如果你想通过将一个数字列表乘以一个因子来创建一个列表,你必须单独乘以每一个,例如:

num = [g * weight for g in gdp_list]

但坦率地说,没有理由这样做,甚至没有理由查询apriori表。您可以使用update语句将列直接乘以因子:

cursor.execute("UPDATE `selectedairport` SET `selectedairport`.`GDP`= `GDP` * 0.5)