在我的脚本中,我创建了一个相当长的列表,然后我需要将其插入到我的数据库中。我想知道是否有一种方法可以直接使用数组的内容创建 SQL 语句,而不是过度执行以下操作:
cursor.execute(
'''INSERT INTO
my_table
VALUES (%s, %s, %s, %s, %s, /* 'til almost infinity */);''',
(list[0], list[1], list[3]... /* again almost until infinity */))
最佳答案
您可以使用字符串格式化
和join
来实现VALUES扩展,使用数据列表
的长度。然后,您可以按原样使用 list
或 tuple
作为实际值。像这样的东西:
cursor.execute("""INSERT INTO my_table VALUES({})""".format(','.join('%s' for x in my_list)), data)
关于python - psycopg2 - 从数组插入表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49182172/