python - psycopg2 - 从数组插入表

标签 python psycopg2

在我的脚本中,我创建了一个相当长的列表,然后我需要将其插入到我的数据库中。我想知道是否有一种方法可以直接使用数组的内容创建 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扩展,使用数据列表的长度。然后,您可以按原样使用 listtuple 作为实际值。像这样的东西:

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/

相关文章:

python - 如何将 Select * Postgres/Redshift 查询结果放入字典(列/值)

带有 np.intc 的 Python 范围

python - 具有多个工作表和特定列的 Pandas read_excel()

python - 如何在 FiPy 中编写带有自变量的方程项?

python - 创建继续嵌套 for 循环

python - 如何使用 Python 将 JSONB 插入到 Postgresql 中?

python - 如何在python中编写递归函数

来自基类的 Python 模拟 psycopg2

python - 不带引号的 sql.Identifier

python - 在 virtualenv 中使用 Psycopg2(Ubuntu 14.4,Python 3.4)