Python从数据库获取数据

时间:2019-03-19 09:57:54

标签: python sql database printing decimal

im试图从数据库中获取数据并将其添加到列表中。当我尝试获取数据并追加时,它获取数据类型。 db结构:

DB

那是我的代码:

import pymysql as sql
conn = sql.Connect(host='localhost', unix_socket='', user='root', passwd='', db='agd')
cursor = conn.cursor()
stat = 'SELECT * FROM stuff'
cursor.execute(stat)+
lista = list(cursor.fetchall())
test_names = []
test_prices = []
test_weights = []
for row in lista:
    test_names.append(row[1])
    test_prices.append(row[2])
    test_weights.append(row[3])
print(test_names)
print(test_prices)
print(test_weights)

然后输出:

['Marcia', 'Daniel', 'Corey', 'Morgan', 'Kayla', 'Christopher', 'Heather', 'Jessica', 'Ralph', 'Wanda']
[Decimal('5558.06'), Decimal('4145.11'), Decimal('4452.92'), Decimal('7921.65'), Decimal('5578.65'), Decimal('851.20'), Decimal('2260.02'), Decimal('5388.26'), Decimal('2020.39'), Decimal('6850.01')]
[Decimal('56.47'), Decimal('75.56'), Decimal('89.83'), Decimal('12.32'), Decimal('4.74'), Decimal('36.99'), Decimal('47.88'), Decimal('84.42'), Decimal('93.63'), Decimal('53.12')]

我想在每个数字开始时打印所有不带“十进制”的数据。

1 个答案:

答案 0 :(得分:0)

您可以通过以下方式将Decimal s转换为float s

test_prices.append(float(row[2]))
test_weights.append(float(row[3]))