TypeError: __init__() takes 1 positional argument but 5 were given 这个错误如何纠正

该代码定义了一个名为Data的类,用于连接到MySQL数据库并执行查询。主要功能包括获取模型数据、预测数据,保存预测结果以及计算时间戳的出现次数。类中使用pymysql库进行数据库交互,并实现了数据预处理的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

import pymysql
pymysql.install_as_MySQLdb()
import pandas as pd

class Data():

def connect(self):
self.db = pymysql.Connect("192.168.226.234", "mywind", "123456", "pems")
self.cursor = self.db.cursor()
# print("连接数据库成功")

def getModelData(self):
self.connect()
self.cursor.execute(
"SELECT time, volum FROM data_load")
data = self.cursor.fetchall()
self.db.close()
data = self.prefixData(data)
return data

def getPredictData(self, startTime, endTime):
self.connect()

sql = "SELECT time, volum FROM data_load where time between '" + startTime + "' and '" + endTime + "'"

self.cursor.execute(sql)
data = self.cursor.fetchall()
self.db.close()
data = self.prefixData(data)

return data

def savePredictData(self, time, value):
# self.connect()

sql = ''

id = self.countTime(time)

if self.countTime(time) > 0:
sql = "UPDATE data_load set predict = " + str(value) + " where id=" + str(id)
else:
sql = "INSERT INTO data_load(time, predict) VALUES ('" + time + "'," + str(value) + ")"

print(sql)

self.cursor.execute(sql)
self.db.commit()
self.db.close()

# sql = """ insert into %s %s values %s """ % (dbName, dbField, data_values)

def countTime(self, time):
self.connect()
sql = "SELECT id FROM pems.data_load where time = '" + time + "'"

self.cursor.execute(sql)
data = self.cursor.fetchone()[0]

print(data)

return data


def prefixData(self, data):
ret = [];

for i in range(len(data)):
ret.append(data[i][1])

return ret;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值