sql >> Databasteknik >  >> RDS >> PostgreSQL

hur man automatiskt skapar tabeller baserade på CSV till postgres med python

Jag provade din kod och fungerar bra

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

även om jag var tvungen att göra några ändringar för att det skulle fungera:jag var tvungen att namnge tabellen abstable1 eftersom du använder abs.abstable1 postgres antar att jag använder schemat abs , du kanske skapade det schemat på din databas om inte kolla på det, jag använder också python 3.7. Jag märkte att du använder python 2.7 (som jag tror inte längre stöds), detta kan orsaka problem, eftersom du säger att du är Lär mig skulle jag rekommendera att du använder python 3 eftersom det är mer använt nu och du med största sannolikhet stöter på kod skriven på den och du måste anpassa din kod för att passa din python 2.7



  1. Vad är en databas? Definition, typer och komponenter

  2. LibreOffice:'com.mysql.jdbc.driver' kan inte laddas

  3. Lagrade procedurer i Ruby on Rails

  4. 2 sätt att konvertera till versaler i Oracle