mysql.connector.errors.ProgrammingError:字符串格式化过程中参数数目错误

2024-10-01 09:34:44 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在打开一个文本文件并尝试将其写入SQL数据库。在

import mysql.connector
import sys
import mysql

f = open('norepeats.txt', 'r')

def sniffertodatabase(f):
for line in f:
    linestrip = line.strip()
    IP = linestrip
    cnx = mysql.connector.connect(user='', password='', host='localhost', database='snifferdb')
    cur = cnx.cursor()
    #print IP
    insert_stmt = (
    "INSERT INTO SNIFFERDBIPs (IP)"
    "VALUES (%s)"
    )
    data = ('IP')
    cur.execute(insert_stmt, data)

    #cur.execute("INSERT INTO SNIFFERDBIPs (IP)" "VALUES (%s), (IP)")
    #cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)", (42, 'bar'))
    cnx.commit()
    cnx.close()
sniffertodatabase(f)

我得到的错误是:

^{pr2}$

如何解决这个错误?在


Tags: importipexecutedataconnectorlinemysqldatabase
2条回答

你也可以用列表代替元组

data = ['IP']

您有data=('IP')。即使你把它放在括号里,它也不被当作元组来处理。看到这个:

>>> type(('IP'))
<type 'str'>
>>> type(('IP',))
<type 'tuple'>
>>>

所以您需要将data=('IP')更改为data=('IP',)

相关问题 更多 >