sql >> Database teknologi >  >> RDS >> PostgreSQL

hvordan man automatisk opretter tabel baseret på CSV til postgres ved hjælp af python

Jeg prøvede din kode og fungerer fint

import psycopg2

conn = psycopg2.connect("host= 127.0.0.1 dbname=testdb user=postgres password=postgres")
print("Connecting to Database")
cur = conn.cursor()

'''cur.execute("""CREATE TABLE abstable1(
absid varchar(10) PRIMARY KEY,
name integer,
number integer 
)
""")'''

with open('lolo.csv', 'r') as f:
    next(f)
    cur.copy_from(f, 'abstable1', sep=',', columns=('absid', 'name', 'number'))

conn.commit()
conn.close()

selvom jeg var nødt til at lave nogle ændringer for at det kunne fungere:jeg var nødt til at navngive tabellen abstable1 fordi du bruger abs.abstable1 postgres antager, at jeg bruger skemaet abs , måske har du oprettet det skema på din database, hvis ikke tjek det, også jeg bruger python 3.7i bemærkede, at du bruger python 2.7 (som jeg tror ikke længere understøttes), dette kan forårsage problemer, da du siger, at du er Læring vil jeg anbefale, at du bruger python 3, da det er mere brugt nu, og du højst sandsynligt støder på kode skrevet på det, og du bliver nødt til at tilpasse din kode, så den passer til din python 2.7



  1. Er BIGINT(8) det største heltal MySQL kan gemme?

  2. Fejl af værdi <br af typen java.lang.String kan ikke konverteres til JSONObject

  3. MySQL-opdatering:Uventet inputfeltparameter i databaseforespørgsel

  4. Sådan formateres datoer i Oracle