Запрос нескольких таблиц postgres в python - PullRequest
0 голосов
/ 24 февраля 2020

Я пытаюсь запросить несколько таблиц sql и сохранить их как pandas фрейм данных.

cur = conn.cursor()
  cur.execute("select relname from pg_class where relkind='r' and relname !~ '^(pg_|sql_)';")
  tables_df = cur.fetchall()
  ##table_name_list = tables_df.table_name 
  select_template = ' SELECT * FROM {table_name}'
  frames_dict = {}
  for tname in tables_df :
      query = select_template.format(table_name = tname)
      frames_dict [tname] = pd.read_sql ( query , conn)

Но я получаю сообщение об ошибке:

 DatabaseError: Execution failed on sql ' SELECT * FROM ('customer',)': syntax 
 error at or near "'yesbank'"
`enter code here`LINE 1:  SELECT * FROM ('customer',)

Клиент - это имя таблицы в моей базе данных, которую я получаю из строки

 tables_df = cur.fetchall()

1 Ответ

0 голосов
/ 24 февраля 2020

По вашей ошибке похоже, что у вас есть опечатка в формате слова:

 AttributeError: 'str' object has no attribute 'formate'

Попробуйте

query = select_template.format(table_name = tname)
...