Python从mysql错误中读取数据

问题描述 投票:1回答:1

我想从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,)]

可能是什么问题呢 ?

python-3.x mysql5
1个回答
0
投票

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

num = [g * weight for g in gdp_list]

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

cursor.execute("UPDATE `selectedairport` SET `selectedairport`.`GDP`= `GDP` * 0.5)
© www.soinside.com 2019 - 2024. All rights reserved.