gpt4 book ai didi

python - cur.executemany 在字符串格式化期间并非所有参数都已转换

转载 作者:太空宇宙 更新时间:2023-11-04 04:57:14 25 4
gpt4 key购买 nike

我有以下功能,可以批量插入 IPv6 IP 列表

def insertToDb(ipList):
print("OK")
try:
conn = psycopg2.connect("dbname='mydb' user='myuser' host='hanno.db.elephantsql.com' password='mypass'")
except:
print("I am unable to connect to the database")
cur = conn.cursor()
try:
cur.executemany("INSERT INTO ip (ip) VALUES(%s)", ipList)
conn.commit()
except Exception as e: print(e)
print("Inserted!")

我收到以下消息

not all arguments converted during string formatting

需要什么样的正确格式?

最佳答案

使用 executemany,您可能只需要将 ipList 转换为元组列表,如下所示:

params = [(ip,) for ip in iplist]
cur.executemany("INSERT INTO ip (ip) VALUES(%s)", params)

或者您也可以将构建列表的方式更改为:

ipList.append((address,)) 

关于python - cur.executemany 在字符串格式化期间并非所有参数都已转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46778325/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com