Fokuspunkt:
- So erstellen Sie eine Datenbankverbindung
- Testen Sie, ob die Verbindung zur Datenbank erfolgreich ist
- to_sql-bezogene Parameter
Versionsinformation:
- Python 3.6
- Pandas 0.24.2
- Postgresql 11
Erstellung einer Datenbankverbindung
Sie können psycopg2.connect nicht verwenden, Sie müssen
die Referenzdokumentation zu create_engine verwenden
engine = create_engine('postgres://'
+ 'zentao' + ':'
+ 'zentao' + '@'
+ '127.0.0.1' + ':'
+ '5432' + '/'
+ 'test')
Testen Sie, ob die Verbindung zur Datenbank erfolgreich ist
DB_Session = sessionmaker(bind=engine)
session = DB_Session()
data = session.execute("SELECT * FROM table limit 2")
for row in data:
for col in row:
print(col),
print
session.close()
to_sql-bezogenes Parameter
-Referenzdokument
Richtiger Code:
df.to_sql(name='table_name', schema='schema_name', con=engine,
if_exists='append' ,index=False)
Der Punkt ist, dass bei Szenarios mit Schema
der Name nicht erkannt wird, wenn er direkt an schema_name.table_name übergeben wird.
Falscher Code:
df.to_sql(name='schema_name.table_name', con=engine,
if_exists='append' ,index=False)
Der obige Code meldet keinen Fehler, es werden jedoch keine Daten in der Datenbank generiert
Daher müssen Schema und Tabelle separat geschrieben werden.