sql >> Database >  >> RDS >> PostgreSQL

hoe je automatisch een tabel kunt maken op basis van CSV in postgres met python

ik heb je code geprobeerd en werkt prima

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()

hoewel ik enkele wijzigingen moest aanbrengen om het te laten werken:ik moest de tabel een naam geven abstable1 omdat het gebruik van abs.abstable1 postgres gaat ervan uit dat ik het schema abs . gebruik , misschien heb je dat schema in je database gemaakt, zo niet, vink dat dan aan, ik gebruik ook python 3.7i heb gemerkt dat je python 2.7 gebruikt (waarvan ik denk dat het niet langer wordt ondersteund), dit kan problemen veroorzaken, omdat je zegt dat je dat bent leren Ik zou je aanraden om python 3 te gebruiken, omdat het nu meer wordt gebruikt en je hoogstwaarschijnlijk code tegenkomt die erop is geschreven en je zou je code moeten aanpassen aan je python 2.7



  1. Wanneer moet ik het gecomprimeerde MySQL-protocol gebruiken?

  2. Oracle 11g Bind-variabele bestaat niet

  3. php:sessie werkt niet terwijl deze live op de server draait

  4. MySQL Server is verdwenen in Drupal 7