python - Python 'float64' 无法转换为 MySQL 类型
问题描述
我正在尝试使用 python 脚本将一些数据存储在 MYSQL 工作台数据库中,但是当我尝试在数据库中插入 (anomaly_low, anomaly_medium, anomaly_high) 时出现以下错误。
Failed processing format-parameters; Python 'float64' cannot be converted to a MySQL type.
实际上,我正在从我的数据库中提取一些数据并将它们作为函数的参数提供。并且,将函数返回的值用于另一个查询。我的代码是:
import numpy as np
import matplotlib
import skfuzzy as fuzz
from skfuzzy import control as ctrl
from matplotlib import pyplot as plt
import mysql.connector
from mysql.connector import Error
from mysql.connector import errorcode
import time
import datetime
try:
connection = mysql.connector.connect(host='1111',
database='x',
user='x',
password='xx')
cursor = connection.cursor(buffered=True)
anomaly = (a.compute_anomaly(85, 5))
print(anomaly)
test = str(a.get_anomaly(anomaly))[1:-1]
print(test)
t = test.split(',')
anomaly_low = t[0]
anomaly_medium = t[1]
anomaly_high = t[2]
print (anomaly_low )
print (anomaly_medium )
print (anomaly_high )
ts = time.time()
timestamp = datetime.datetime.fromtimestamp(ts).strftime('%Y-%m-%d
%H:%M:%S')
#insert data to fuzzy_anomaly
sql_anomaly = "INSERT INTO fuzzy_anomaly(anomaly,anomaly_low,
anomaly_medium, anomaly_high,timestamp) VALUES (%s,%s,%s,%s,%s)"
input = (anomaly, anomaly_low, anomaly_medium, anomaly_high,timestamp)
cursor.execute(sql_anomaly , input, multi=True)
connection.commit()
print("1 record inserted, ID:", cursor.lastrowid)
except mysql.connector.Error as error :
print("Failed to update record to database: {}".format(error))
connection.rollback()
finally:
#closing database connection.
if(connection.is_connected()):
connection.close()
print("MySQL connection is closed")
这些是我数据库中的字段/列名称。我正在尝试将anomaly
, anomaly_low
, anomaly_medium
, anomaly_high
,timestamp
数据插入 MYSQL。
但是,当我手动为compute_anomaly(arg1, arg2)
函数提供参数并删除第一个查询 ( input_fuzzy
) 时,错误就消失了。任何想法?提前致谢。
解决方案
推荐阅读
- php - Composer 安装 VirtualAlloc() 失败:[0x00000008]
- c++ - 如何在用户给定号码的前面和后面添加一个数字?C++
- python-3.x - 无法导入名称“AsyncIOSchedular”
- android - 如何在 Android Studio 中清除 RequestQueue 缓存?
- c++ - Yocto中的虚拟键盘顶部黑屏
- scala - scala.Char 在隐式范围内没有可用的 play.api.libs.json.Format 实例
- javascript - 如何修复 IE8 中的“indexof”
- mysql - 如何永久禁用外键检查
- sql - 执行SQL查询时无法引用表中的列:列不存在
- angular - Angular8:如何编写一个指令来转换文本输入并将其应用于 ngModel