Comment insérer une pandas dataframe à une table dans une base de données?
Je suis en utilisant sqlalchemy
dans les pandas à la requête de base de données postgres, puis insérer les résultats d'une transformation à une autre table sur la même base de données. Mais quand je fais
df.to_sql('db_table2', engine)
J'obtiens ce message d'erreur:
ValueError: Table 'db_table2' already exists.
J'ai remarqué que c'souhaitez créer une nouvelle table. Comment insérer des pandas dataframe à une déjà existante de la table ?
df = pd.read_sql_query('select * from "db_table1"',con=engine)
#do transformation then save df to db_table2
df.to_sql('db_table2', engine)
ValueError: Table 'db_table2' already exists
OriginalL'auteur DevEx | 2016-07-27
Vous devez vous connecter pour publier un commentaire.
faire usage de if_exists paramètre:
ou
de docstring:
veuillez définir
update the table
son différentiel à insérer c'est à dire un travail quotidien que les mises à jour de la table de base de données
que penser de l'utilisation
if_exists='append'
? Si c'est un cas compliqué - que vous auriez à faire un exempleappend
fonctionne! Mais j'ai une clé primaire sur la table qui est auto incrémenté. (postgresSERIAL
) j'ai remarqué que la clé se réinitialise lorsque jeappend
.OriginalL'auteur MaxU