【发布时间】:2018-06-28 19:40:18
【问题描述】:
我正在尝试更新 Postgresql 表的一行。我正在使用 Psycopg2 和 Python3。
我收到错误: "TypeError: 在字符串格式化期间并非所有参数都被转换"
代码: self.cursor.executemany("INSERT INTO blacklisted_ips (ip, source_id, date_created, date_modified) VALUES (%s, %s, %s, %s);", ["address_list"])
ip、source_id、date_created、date_modified 是列名。
传递元组列表 address_list 样本数据: ('223.223.202.183', 29, '2018-06-28 12:32:02', '2018-06-28 12:32:02')
我不知道为什么会出现此错误。我猜它以“VALUES”之后的占位符为中心。任何帮助是极大的赞赏。
【问题讨论】:
-
你的代码是
["address_list"]。这意味着您正在传递一个包含单个元素的列表,即字符串address_list。您的意思是改为传递变量address_list吗? -
啊好的,我需要传递指向列表的变量。我有:def add_ips(self, address_list):