PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

Konvertieren von Pandas-Spalten in eine PostgreSQL-Liste?

Angenommen, Sie stellen bereits eine Verbindung zu PostgreSQL her und haben die Tabelle bereits in PostgreSQL. Oder besuchen Sie diesen Link https://wiki.postgresql.org/wiki/Psycopg2_Tutorial

import psycopg2

try:
    conn = psycopg2.connect("host='localhost' dbname='template1' user='dbuser' password='dbpass'")
except:
    print "I am unable to connect to the database"

Öffnen Sie zunächst die .csv-Datei.

>>> import csv
>>> with open('names.csv') as csvfile:
...     reader = csv.DictReader(csvfile)
...     for row in reader:
...         print(row['first_name'], row['last_name'])
...

Das ist ein Beispiel aus https://docs.python.org/2/library/csv. html Ändern Sie die Druckzeile mit insert in PostgreSQL.

>>> import psycopg2    
>>> cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)",
    ...      (100, "abc'def"))

Sie können (100, "abc'def") mit (variable1, variable2) ändern. Siehe diesen Link http://initd.org/psycopg/docs/usage.html Oder im vollständigen Beispielcode:

>>> import csv
>>> import psycopg2
>>> with open('names.csv') as csvfile:
...     reader = csv.DictReader(csvfile)
...     for row in reader:
...         cur.execute("INSERT INTO test (num, data) VALUES (%s, %s)", (variable1, variable2))
...

Hoffe, das wird helfen...