首页 > 解决方案 > 如何从mariadb读取十进制和日期到python?

问题描述

我正在使用 mysql.connector 从 python 读取 MariaDB 数据库中的数据

import mysql.connector as mysql
cnx = mysql.connect(user='',pwd='',host='',port='',database='')
cursor = cnx.cursor()
query = 'select * from …….'
cursor.execute(query,(0,2))
my_list = []
for row in cursor:
    my_list.append(row)
print(my_list)

data = [('t10djm6','NM_INIT', 3920, datetime.date(2018, 1, 29),Decimal('4.310'), Decimal('5000.00'), 1),
 ('t10djm6','CHECK_INIT', 3920,datetime.date(2018, 1, 29),Decimal('4.330'), Decimal('5020.00'), 2)]

sql_data = pd.DataFrame(data = data,columns=[……………..])

日期和十进制值以 datetime.date(2018, 1, 29) 形式出现,即 2018-1-29 和 Decimal('5000.00') 即 5000.00

这些值在一个元组中,我将其存储为要转换为熊猫数据帧的元组列表我可以知道如何转换日期和十进制值以存储在数据帧中吗

我尝试导入数据时间并将十进制导入为十进制,但得到

TypeError: 'module' object is not callable

十进制

我可以知道如何解决这个问题吗?

标签: mysqlpandasmariadb

解决方案


当您编写时import decimal as Decimal,名称Decimal指的是模块decimal并且模块是不可调用的。你需要的是:

from decimal import Decimal

推荐阅读