Как подсчитать количество вставленных записей в таблицу с помощью счетчика и вывести количество вставленных записей в каждом прогоне задания, используя скрипт python - PullRequest
0 голосов
/ 07 апреля 2020

Я хочу подсчитать количество вставленных записей в таблицу, используя счетчик или любой другой метод, и распечатать количество вставленных записей в каждом запуске задания, используя сценарий python. Пример кода приведен ниже. Пожалуйста, предложите несколько решений для того же.

 with Postgresql.Database(connection_pool) as db:
   --count number of rows inserted in bazaarvoicereviews table and print the count for every job run
   db.insert('externaldb.bazaarvoicereviews',data=rdata)
--count number of rows inserted in bazaarvoicereviewsresponses table and print the count for every job run
   for rs in _ClientResponses:
       db.insert('externaldb.bazaarvoicereviewsresponses',data=rs)
--count number of rows inserted in bazaarvoicereviewscomments table and print the count for every job run
   for rc in _ClientComments:
      db.insert('externaldb.bazaarvoicereviewscomments',data=rc)

1 Ответ

1 голос
/ 07 апреля 2020

Если вы используете psycopg2, вы можете получить количество строк из курсора:

cursor.execute(statement)
rowcount = cursor.rowcount
conn.commit()

Полный пример:

import psycopg2

class CustomPostgres:
    def __init__(self):
        self.conn_string = "connection_string"
        self.conn = psycopg2.connect(self.conn_string)
        self.cursor = self.conn.cursor()

    def insert_with_rowcount(self, statement):
        self.cursor.execute(statement, params)
        rowcount = self.cursor.rowcount
        self.conn.commit()
        return rowcount

...