PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

Насочване към конкретни стойности от JSON API и вмъкване в Postgresql, използвайки Python

Първо извлечете ids в списък с кортежи:

ids = list((item['id'],) for item in data['issues'])
# example ids: [('41508',), ('41509',)]

След това използвайте функцията extras.execute_values():

from psycopg2 import extras

query = """
    INSERT into Countries (revenue)
    VALUES %s;
"""
extras.execute_values(cursor, query, ids)

Вторият аргумент на функцията executemany(query, vars_list) трябва да бъде последователност, докато data е обект, чиито елементи не могат да бъдат достъпни чрез целочислени индекси.

Поради производителността първата функция изпълнява една заявка с множество аргументи, докато втората изпълнява толкова заявки, колкото и аргументи.

Имайте предвид, че по подразбиране третият аргумент на execute_values() е списък от кортежи, така че извлякохме ids само по този начин.

Ако трябва да вмъкнете стойности в повече от една колона, всеки кортеж в списъка трябва да съдържа всички стойности за един вмъкнат ред, например:

values = list((item['id'], item['key']) for item in data['issues'])

query = """
    INSERT into Countries (id, revenue)
    VALUES %s;
"""
extras.execute_values(cur, query, values)


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Добавяне на Postgresql към моето приложение Heroku - проблеми със синтаксиса, сриващи заявки?

  2. Сравнителен анализ, управлявани PostgreSQL облачни решения – Google Cloud:Част трета

  3. Как да посочите ApplicationName в низ за свързване на NpgSql

  4. Прескачане на пропуск в SQL при специфично условие и правилно използване на lead().

  5. Клауза IN с NULL или IS NULL