如何从mysql读取数据并用于计算?

时间:2018-01-02 01:22:31

标签: python mysql sql python-3.x

当我从mysql读取一列数据时,就像这样

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

现在我得到了gdp_list

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

但我发现gdp_list不能用于计算因为元素的格式。 我该如何解决这个问题?

3 个答案:

答案 0 :(得分:0)

光标结果总是一个元组。

您需要对其进行索引,并且可以将该循环重写为列表理解

cursor.execute(query)
gdp_list = [res[0] for res in cursor]

答案 1 :(得分:0)

现在,你在GDP中获得元组而不是整数。要追加的int只是元组的第一个元素。简单地使用GDP [0]而不是GDP。

cursor = db.cursor()
query = ('SELECT GDP FROM selectedairport')
cursor.execute(query)
gdp_list = []
for GDP in cursor:
    gdp_list.append(GDP[0])# append only the first element of the tuple

希望这有帮助!

答案 2 :(得分:0)

你必须将元组部分转换为列表,你可以迭代元组,或者如果你想要你可以尝试这种lambda方法:

print(list(map(lambda x:x[0],gdp_list)))

输出将是:

[50, 60, 80, 40]