Импорт CSV с большим количеством столбцов в pgAdmin v4.1

Я новичок в pgAdmin и GIS DB в целом. Я хочу загрузить CSV-файл в pgAdmin v4.1 и пытаюсь понять логику этого. Я могу сделать это, создав новую таблицу в нужной БД, а затем вручную определив столбец (имя, тип и т. д.), только тогда я смогу загрузить CSV в pgAdmin с помощью графического интерфейса. Это кажется немного громоздким способом импорта CSV-файла, потому что, скажем, у меня есть CSV-файл с 200 столбцами, нецелесообразно определять их все вручную, и должен быть способ сообщить pgAdmin: это CSV-файл, теперь получите столбцы самостоятельно и получите (или, по крайней мере, предположите) тип столбцов, создайте новую таблицу, очень похожую на то, как pandas читает CSV в python. Поскольку я новичок в этой теме, пожалуйста, разработайте свой ответ\комментарий как можно подробнее.


person user88484    schedule 23.01.2019    source источник


Ответы (2)


НЕТ: К сожалению, мы можем импортировать CSV только после создания таблицы.

ДА: метод с графическим интерфейсом отсутствует, но:

  1. Существует утилита под названием pgFutter, которая сделает именно то, что вы хотите. Это утилита командной строки. Вот двоичные файлы.

  2. Вы можете написать функцию, которая это делает. Вот пример.

person Joseph Lee    schedule 23.01.2019

Я бы рассмотрел возможность использования GDAL для загрузки вашего CSV-файла в postgis. Я использовал это недавно, чтобы сделать аналогичную работу.

ogr2ogr -f "PostgreSQL" -lco GEOMETRY_NAME=geometry -lco FID=gid PG:"host=127.0.0.1 user=username dbname=dbname password=********" postgres.vrt -nln th_new_data_2019 -t_srs EPSG:27700

Код, используемый для загрузки csv в postgis и преобразования системы координат.

-f = имя формата файла

имя формата выходного файла, некоторые возможные значения: -f "ESRI Shapefile" -f "TIGER" -f "MapInfo File" -f "GML" -f "PostgreSQL

-lco = ИМЯ=ЗНАЧЕНИЕ: Опция создания слоя (зависит от формата)

-nln name: назначить альтернативное имя новому слою.

-t_srs srs_def: целевой набор пространственных привязок. Системы координат, которые могут быть переданы, — это все, что поддерживается вызовом OGRSpatialReference.SetFromUserInput(), включая EPSG PCS и GCS (например, EPSG:4296), объявления PROJ.4 (как указано выше) или имя файла .prj, содержащего хорошо известный текст.

Лучшее и простое руководство по установке GDAL, которое я использовал: https://sandbox.idre.ucla.edu/sandbox/tutorials/installing-gdal-for-windows

person Hutch    schedule 25.01.2019
comment
привет, спасибо за ответы, но в конце концов я использовал QGIS в качестве посредника для этого, что означает, что я загрузил CSV в QGIS и из QGIS в PgAdmin с помощью диспетчера БД - person user88484; 01.02.2019