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

Напишете бърза рамка с данни на pandas в postgres

Вторият ви подход трябва да бъде много бърз.

Има два проблема с вашия код:

  1. След запис на csv в f вие сте позиционирани в края на файла. Трябва да върнете позицията си в началото, преди да започнете да четете.
  2. Когато пишете csv, трябва да пропуснете заглавката и индекса

Ето как трябва да изглежда окончателният ви код:

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. Изчислете възрастта в години в PostgreSQL

  2. Division ( / ) не дава отговора ми в postgresql

  3. Сравнителни показатели за PostgreSQL Meltdown

  4. Ограничение за проверка на PostgreSQL за условие за външен ключ

  5. използвайте командата database_name в PostgreSQL