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

Мога ли автоматично да създам таблица в PostgreSQL от csv файл със заглавки?

Има много добър инструмент, който импортира таблици в Postgres от csv файл. Това е инструмент от командния ред, наречен pgfutter (с двоични файлове за windows, linux и т.н.). Едно от големите му предимства е, че разпознава и имената на атрибути/колони.

Използването на инструмента е просто. Например, ако искате да импортирате myCSVfile.csv :

pgfutter --db "myDatabase" --port "5432" --user "postgres" --pw "mySecretPassword" csv myCSVfile.csv

Това ще създаде таблица (наречена myCSVfile ) с имената на колоните, взети от заглавката на csv файла. Освен това типовете данни ще бъдат идентифицирани от съществуващите данни.

Няколко бележки:Командата pgfutter варира в зависимост от двоичния файл, който използвате, напр. може да е pgfutter_windows_amd64.exe (преименувайте го, ако възнамерявате да използвате тази команда често). Горната команда трябва да се изпълни в прозорец на командния ред (напр. в Windows изпълнете cmd и гарантирайте pgfutter е достъпен). Ако искате да имате различно име на таблица, добавете --table "myTable"; за да изберете конкретна схема на база данни, използваме --schema "mySchema" . В случай, че имате достъп до външна база данни, използвайте --host "myHostDomain" .

По-сложен пример за pgfutter за импортиране на myFile в myTable това ли е:

pgfutter --host "localhost" --port "5432" --db "myDB" --schema "public" --table "myTable" --user "postgres" --pw "myPwd" csv myFile.csv

Най-вероятно ще промените няколко типа данни (от текстови в числови) след импортирането:

alter table myTable
  alter column myColumn type numeric
    using (trim(myColumn)::numeric)


  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. Споделете връзка с postgres db между процеси в Python

  3. PostgreSQL процедурния език C не е намерен

  4. Изхвърлете част от милисекундата от времевата марка

  5. Бавно хибернация за придобиване на Postgres връзка