【发布时间】:2016-06-17 13:53:25
【问题描述】:
我想通过 psycopg2 执行 INSERT 查询,对于这个问题,让我们将其简化为:
query = """ INSERT INTO %s("%s") VALUES(%s); """
我这样做时效果很好:
params = [AsIs(table_name), AsIs(column_name), value]
cursor.execute(query, params)
现在,我的 Pandas 数据框有大约 90 多列,我想知道扩展上面的查询以便能够对多列执行它的最佳方法是什么。
我尝试将每个列和值作为单个字符串连接在一起并将其传递。我还尝试使用 90+ "\"%s\"" 创建一个字符串,我还尝试创建一个格式字符串,即。 """INSERT INTO {0} ({1}...{n}) VALUES ({n+1...n+n})""".format(...)。有一些不相关的问题会阻止这些工作,但是有没有更简单的方法来处理这种多列情况?
【问题讨论】:
标签: python sql postgresql python-2.7 psycopg2