PostgreSQL
 sql >> база данни >  >> RDS >> PostgreSQL

как автоматично да създавате таблица на базата на CSV в postgres с помощта на python

пробвах вашия код и работи добре

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

въпреки че трябваше да направя някои промени, за да работи:трябваше да наименувам таблицата abstable1 защото използвайки abs.abstable1 postgres приема, че използвам схемата abs , може би сте създали тази схема във вашата база данни, ако не проверите това, също така използвам python 3.7i забелязах, че използвате python 2.7 (който според мен вече не се поддържа), това може да причини проблеми, тъй като казвате, че сте научавам, че бих ви препоръчал да използвате Python 3, тъй като сега се използва повече и най-вероятно ще срещнете код, написан на него, и ще трябва да адаптирате кода си, за да пасне на вашия Python 2.7



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Разделете стойности, разделени със запетая, в целева таблица с фиксиран брой колони

  2. postgresql:INSERT INTO ... (ИЗБЕРЕТЕ * ...)

  3. Как да направя препратка към таблица с външни ключове два пъти?

  4. Влияе ли на производителността, ако таблицата съдържа много неизползвани/неизбрани колони?

  5. Използвайте where заявки в тип данни JSONB в Rails Postgres