Я пытаюсь сохранить содержимое фрейма данных в таблице postgres. Я использую это -
from sqlalchemy import create_engine
import psycopg2 as pg
import io
address = 'postgresql://username:password@dbname.endpoint.rds.amazonaws.com:5432/dbname'
engine = create_engine(address)
connection = engine.raw_connection()
cursor = connection.cursor()
df_tbl.reset_index(inplace=True)
command = '''create table data.table_name(
index bigint,
pid varchar,
name varchar);'''
cursor.execute(command)
connection.commit()
output = io.StringIO()
df_tbl.to_csv(output, sep=',', header=False, index=False)
output.seek(0)
contents = output.getvalue()
cur = connection.cursor()
cur.copy_from(output, 'data.table_name', sep=',', null='')
connection.commit()
cur.close()
Это создает таблицу и сохраняет данные. Теперь я хочу добавить новые данные в таблицу, используя тот же метод. Как я могу это сделать? Я знаю, что есть функция if_exists = append в to_sql . Но я не хочу использовать to_sql .
Как добавить данные в postgres, используя copy_from ?