解决pymysql查询结果返回decimal类型的数据无法处理的问题

This commit is contained in:
caiweichao 2022-06-17 09:49:22 +08:00
parent 884a3bc9ac
commit f1c95d54e2
1 changed files with 11 additions and 1 deletions

View File

@ -2,14 +2,23 @@
# @Author : caiweichao
# @explain : 建立数据库连接进行查询
import pymysql
from pymysql import converters
from pymysql.constants import FIELD_TYPE
from Commons.util.logs import Log
from Commons.operation_file.operation_ymal import ReadYaml
# 连接数据库建立游标执行sql关闭数据库
class Mysql_Util:
def __init__(self, mysql_name=None):
conv = converters.conversions
conv[FIELD_TYPE.NEWDECIMAL] = float
conv[FIELD_TYPE.DATE] = str
conv[FIELD_TYPE.TIMESTAMP] = str
conv[FIELD_TYPE.DATETIME] = str
conv[FIELD_TYPE.TIME] = str
read_yaml = ReadYaml()
host = read_yaml.get_every_config(key='global').upper()
try:
@ -21,7 +30,8 @@ class Mysql_Util:
user=mysql_config.get('user'),
password=mysql_config.get('password'),
database=None,
port=int(mysql_config.get('port')))
port=int(mysql_config.get('port')),
conv=conv)
except TimeoutError as e:
Log.error(f'数据库链接超时请检查:{e}')