sql >> Databáze >  >> RDS >> PostgreSQL

jak automaticky vytvořit tabulku založenou na CSV do postgres pomocí pythonu

Zkoušel jsem váš kód a funguje dobře

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

i když jsem musel udělat nějaké změny, aby to fungovalo:musel jsem pojmenovat tabulku abstable1 protože pomocí abs.abstable1 postgres předpokládá, že používám schéma abs , možná jste toto schéma vytvořili ve své databázi, pokud to nezkontrolujete, také používám python 3.7i, všiml jsem si, že používáte python 2.7 (který podle mě již není podporován), může to způsobit problémy, protože říkáte, že jste učení Doporučuji vám používat python 3, protože je nyní více používaný a s největší pravděpodobností se setkáte s kódem napsaným na něm a museli byste svůj kód přizpůsobit tak, aby vyhovoval vašemu pythonu 2.7



  1. MariaDB JSON_ARRAY_INSERT() Vysvětleno

  2. MySQL - Jak odstranit z tabulky, když vnořený výběr používá tuto tabulku?

  3. Oracle:Jak mohu zadat znakové literály v převodech TO_DATE?

  4. Row Goals, část 4:Anti Join Anti Pattern