TypeError:python需要一个整数

TypeError:python需要一个整数,python,pymysql,Python,Pymysql,我有一个具有以下结构的数据库 CREATE TABLE cdrdataTest( id int(11) NOT NULL AUTO_INCREMENT, acctid int(11) NOT NULL, session_time int(11) NOT NULL, revenue_time int(11) NOT NULL, expense_time int(11) NOT NULL, start_time datetime NOT NULL, rev

我有一个具有以下结构的数据库

 CREATE TABLE cdrdataTest(
   id int(11) NOT NULL AUTO_INCREMENT,
   acctid int(11) NOT NULL,
   session_time int(11) NOT NULL,
   revenue_time int(11) NOT NULL,
   expense_time int(11) NOT NULL,
   start_time datetime NOT NULL,
   revenue_increment int(11) NOT NULL,
     PRIMARY KEY(id)
) ;
下面是我尝试使用以下代码将数据插入Mysql数据库时返回并出错的查询:

 conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd='', 
    db='cdrmonitoringdata')
 cur = conn.cursor()
 for lst in data:
     q = "INSERT INTO cdrdataTest(acctid, session_time, 
   revenue_time,expense_time,start_time,revenue_increment) VALUES (%d, %d, %d, 
   %d,%d,%d )" %
  (int(lst[0]),int(lst[1]),int(lst[2]),int(lst[3]),datetime.datetime(lst[4]),int(lst[5]))
错误如下

Traceback (most recent call last):
  File "C:/Users/Mang123/PycharmProjects/readData/readDataFile.py", line 50, in <module>
    insertDataIntoDatabase(data)
  File "C:/Users/Mang123/PycharmProjects/readData/readDataFile.py", line 9, in insertDataIntoDatabase
    q = "INSERT INTO cdrdataTest(acctid, session_time, revenue_time,expense_time,start_time,revenue_increment) VALUES (%d, %d, %d, %d,%d,%d )" %(int(lst[0]),int(lst[1]),int(lst[2]),int(lst[3]),datetime.datetime(lst[4]),int(lst[5]))
  TypeError: an integer is required

Process finished with exit code 1
回溯(最近一次呼叫最后一次):
文件“C:/Users/Mang123/PycharmProjects/readData/readDataFile.py”,第50行,在
insertDataIntoDatabase(数据)
文件“C:/Users/Mang123/PycharmProjects/readData/readDataFile.py”,第9行,在insertDataIntoDatabase中
q=“在cdrdataTest(账户、会话、收入、支出、开始、收入增量)中插入值(%d、%d、%d、%d、%d、%d、%d),%d)”%(int(lst[0])、int(lst[1])、int(lst[2])、int(lst[3])、datetime.datetime(lst[4])、int(lst[5]))
TypeError:需要一个整数
进程已完成,退出代码为1

不要使用字符串插值。改用参数化查询。哪个错误?提供跟踪其中一个是datetime,而不是使用datatime占位符后的intEven。仍然获取错误。需要整数显示导致错误的
数据
lst
示例。不要使用字符串插值。改用参数化查询。哪个错误?提供跟踪其中一个是datetime,而不是使用datatime占位符后的intEven。仍然获取错误。需要整数显示导致错误的
数据
lst
示例