当我从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不能用于计算因为元素的格式。 我该如何解决这个问题?
答案 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]