我可以使用以下代码遍历python对象,但是我希望能够使用占位符作为模式和表名,通常我使用{}.{}
和.format()
方法,但是如何将两者结合起来?
cur.executemany("INSERT INTO schema.table_name (x,y,z) "
"values (%s, %s, %s)", top_sample)
答案 0 :(得分:1)
根据您使用的python,可以尝试使用f-string
schema = "schema"
table_name = "table_name"
cur.executemany(f"INSERT INTO {schema}.{table_name} (x,y,z) values (%s, %s, %s)", top_sample)
检查PEP 498 -- Literal String Interpolation
另一个选择是简单的format
cur.executemany("INSERT INTO {schema}.{table_name} (x,y,z) values (%s, %s, %s)".format(schema=schema, table_name=table_name), top_sample)
但是我发现第一个选择更简短,更简洁
答案 1 :(得分:0)
我不确定是什么问题。您可以像这样很好地使用format
:
cur.executemany("INSERT INTO {}.{} (x,y,z) values (%s, %s, %s)".format('hello', 'world'), top_sample)
答案 2 :(得分:0)
[\-!,.:;—/]
将表格名称替换为your_table_name