PostgreSQL
 sql >> Baza danych >  >> RDS >> PostgreSQL

jak automatycznie utworzyć tabelę na podstawie CSV w postgresie za pomocą pythona

wypróbowałem twój kod i działa dobrze

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

chociaż musiałem wprowadzić pewne zmiany, aby to zadziałało:musiałem nazwać tabelę abstable1 ponieważ używam abs.abstable1 postgres zakłada, że ​​używam schematu abs , może utworzyłeś ten schemat w swojej bazie danych, jeśli nie, sprawdź to, również używam Pythona 3.7. Zauważyłem, że używasz Pythona 2.7 (który myślę, że nie jest już obsługiwany), może to powodować problemy, ponieważ mówisz, że jesteś ucząc się, polecam używać Pythona 3, ponieważ jest on teraz częściej używany i najprawdopodobniej napotkasz kod na nim napisany i będziesz musiał dostosować swój kod, aby pasował do Twojego Pythona 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. Błąd podczas próby uruchomienia postgis Utwórz rozszerzenie

  2. Nieoczekiwany wpływ filtrowania na wynik zapytania crosstab()

  3. docker compose:postgresql utwórz bazę danych, przekaż użytkownika i nadaj uprawnienia

  4. PostgreSQL 11:Co nowego

  5. Jasper Report:nie można uzyskać wartości dla pola „x” klasy „org.postgresql.util.PGmoney”