имя таблицы python psycopg2 из переменной - PullRequest
0 голосов
/ 21 сентября 2018

Я хочу выбрать имя таблицы, используя переменную из цикла.

conn = psycopg2.connect("dbname='postgres' user='postgres' 
password='password'")
c = conn.cursor()

query = 'select * From "employees"'
c.execute(query)

for row in c:
    c.execute('CREATE TABLE IF NOT EXISTS "row[2]" ("department" text)')

Результатом этого выполнения является таблица с именем row, но мне нужно значение переменной.Итак, я хочу CREATE TABLE IF NOT EXISTS Variable-from-loop.

Любое предложение?


Чтобы сделать его более простым:

У меня есть файл1 со следующим содержанием:

-table1
-table2
-table3
-table4

Я буду использовать цикл for и хочу создать все эти таблицы одновременно:

for i in file1:
    c.execute('CREATE TABLE IF NOT EXISTS i ("department" text)')

1 Ответ

0 голосов
/ 22 сентября 2018

Вы пытались заменить переменную в строке перед выполнением оператора?

Примерно так:

table_name_list = [
    'alfa',
    'beta',
]

for name in table_name_list:
    sql = 'CREATE TABLE IF NOT EXISTS {} ("department" text)'.format(name)
    print(sql)
    c.execute(sql)
...