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

Napisz szybką ramkę danych pandy do postgres

Twoje drugie podejście powinno być bardzo szybkie.

Z twoim kodem są dwa problemy:

  1. Po zapisaniu csv do f znajdujesz się na końcu pliku. Zanim zaczniesz czytać, musisz cofnąć swoją pozycję na początek.
  2. Pisząc csv, musisz pominąć nagłówek i indeks

Oto, jak powinien wyglądać Twój ostateczny kod:

import io
f = io.StringIO()
pd.DataFrame({'a':[1,2], 'b':[3,4]}).to_csv(f, index=False, header=False)  # removed header
f.seek(0)  # move position to beginning of file before reading
cursor = conn.cursor()
cursor.execute('create table bbbb (a int, b int);COMMIT; ')
cursor.copy_from(f, 'bbbb', columns=('a', 'b'), sep=',')
cursor.execute("select * from bbbb;")
a = cursor.fetchall()
print(a)
cursor.close()



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Co oznacza błąd importu:nie znaleziono symbolu:_PQencryptPasswordConn i jak to naprawić?

  2. Jak wypróbować wiele opcji SELECT, aż wynik będzie dostępny?

  3. Jak uzyskać licznik niedzieli w bieżącym miesiącu w psql?

  4. Aktualny stan zarządzania kopiami zapasowymi Open Source dla PostgreSQL

  5. Uruchom zapytanie z LIMIT/OFFSET, a także uzyskaj całkowitą liczbę wierszy