[英]Python psycopg2 multiple columns in INSERT query
我想通过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(...)
。 有不相关的问题会阻止它们起作用,但是有没有更简单的方法来处理这种多列情况?
我不熟悉熊猫,但您可能想要这样的东西:
columns = ', '.join(column_names) # Where column names is a tuple or list of all the column headings you want in your query.
query = """ INSERT INTO %s("%s") VALUES(%%s); """ % (table_name, columns)
params = [value]
cursor.execute(query, params)
关键是您需要分别插入列标题和值。 请参阅这篇文章,以获得比我能提供的更好的解释:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.