Импорт данных Excel в PostgreSQL 9.3
Недавно я установил PostgreSQL 9.3 на свой windows 7 64 bit PC, но сегодня я отформатировал свой PC. Теперь я снова попытался установить PostgreSQL 9.3, но после установки, когда я попытался подключиться, он выдает ошибку, см. скриншот ниже :- Мой pg_hba.conf показан ниже : Я также видел, что.
Существует ли какой-либо механизм на основе запросов tool/ для импорта данных excel листа (xls/csv) в таблицу postgresql?
В Excel, Файл/Сохранить как, выберите CSV, сохраните текущий лист.
передача в каталог хранения на сервере Pg, к которому пользователь postgres может получить доступ
Но есть и другие способы сделать это. PostgreSQL — это удивительно программируемая база данных. К ним относятся:
Напишите модуль на pl/javaU, pl/perlU, или другом ненадежном языке, чтобы получить доступ к файлу, проанализировать его и управлять структурой.
Используйте CSV и файл fdw_file для доступа к нему в качестве псевдо-таблицы
Напишите свою собственную внешнюю оболочку данных для чтения файлов Excel.
Вы также можете использовать консоль psql для выполнения \copy без необходимости отправлять файл на серверную машину Postgresql. Команда та же самая:
Для python вы можете использовать openpyxl для всех форматов файлов 2010 и более новых (xlsx).
У Аль Свейгарта есть полный учебник по автоматизации скучных частей по работе с электронными таблицами excel, и вся книга и сопровождающий ее курс Udemy являются отличными ресурсами.
Понятно, что после того, как у вас есть этот доступ, вы теперь можете использовать psycopg для анализа данных в postgres, как обычно.
Это ссылка на список ресурсов python по адресу python-excel также xlwings предоставляет большой набор функций для использования python вместо vba в excel.
Метод , который я использую, заключается в том, чтобы загрузить таблицу в R как data.frame , а затем использовать dbWriteTable , чтобы переместить ее в PostgreSQL. Эти два шага показаны ниже.
[expert_bq id=»1570″]Приложение автоматически создает необходимые таблицы с теми же столбцами, что и в файлах Excel, и заполняет таблицы содержимым. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq] Этот плагин поддерживает файлы XLSX и XLS. Согласно документу, он также может записывать данные обратно в файл электронной таблицы, но все причудливое форматирование в вашем excel будет потеряно, файл будет воссоздан при записи.Импорт данных Excel в PostgreSQL 9.3 — программирование
Как прокомментировал Патрик , вы можете использовать соответствующую мета-команду psql _29 аналогичным образом. Он записывает (и читает) файлы, локальные для клиента, и не требует привилегий суперпользователя.
Загрузить данные Excel в R
Если у вас есть RStudio, вы можете легко просмотреть d объект, чтобы убедиться, что все соответствует ожиданиям.
Убедитесь, что у вас установлен RPostgreSQL из CRAN, затем установите соединение и отправьте data.frame в базу данных:
Некоторые общие шаги по очистке можно выполнить с помощью pgAdmin или psql:
С модулем ogr_fdw можно открыть лист Excel как стороннюю таблицу в pgsql и запросить его напрямую, как любые другие обычные таблицы в pgsql. Это полезно для чтение данных из той же регулярно обновляемой таблицы
Для этого заголовок таблицы в вашей электронной таблице должен быть чистым, текущий драйвер ogr_fdw не может обрабатывать символы большой ширины или новые строки и т. Д. С этими символами, вы, вероятно, не сможете ссылаться на столбец в pgsql из-за проблема с кодировкой. (Основная причина, по которой я не могу использовать это замечательное расширение.)
Бинарные файлы предварительной сборки ogr_fdw для Windows находятся здесь http://winnie.postgis.net/download/windows/pg96/buildbot/extras/ измените номер версии в ссылке, чтобы загрузить соответствующие сборки. извлеките файл в папку pgsql, чтобы перезаписать одноименные подпапки. перезапустите pgsql. Перед тест-драйвом модуль необходимо установить, выполнив:
используйте ogr_fdw_info.exe, чтобы проверить файл Excel для списка имен листов
используйте «ogr_fdw_info.exe -l» для проверки отдельного листа и создания кода определения таблицы.
Выполните сгенерированный код определения в pgsql, будет создана сторонняя таблица и сопоставлена с вашим файлом Excel. к нему можно обращаться как к обычным таблицам.
Это особенно полезно, если у вас много небольших файлов с одинаковой структурой таблиц. Просто измените путь и имя в определении, и обновления определения будет достаточно.
Этот плагин поддерживает файлы XLSX и XLS. Согласно документу, также можно записывать данные обратно в файл электронной таблицы, но все причудливое форматирование в вашем Excel будет потеряно, файл воссоздается при записи.
Обратной стороной является то, что вы не можете легко изменить расположение или имя файла в pgsql, как в предыдущем подходе.
Дружеское напоминание. Проблема с разрешениями относится к этим расширениям fdw. поскольку он загружен в службу pgsql. pgsql должен иметь привилегированный доступ к файлам Excel.
Пример таблицы с двумя столбцами (в моей таблице 30 столбцов, из которых я снова и снова импортирую последовательное содержимое с помощью одного и того же Excel / PowerPivot.)
В PowerPivot я добавляю вычисляемые столбцы с помощью следующих команд:
. пока вы не дойдете до последнего столбца, и вам нужно будет завершить оператор вставки:
Затем в PowerPivot я добавляю плоскую сводную таблицу и получаю все инструкции вставки, которые я просто копирую и вставляю в pgAgent.
ПРИМЕЧАНИЕ. Если вы знакомы с оператором Power pivot CONCATENATE, вы знаете, что он может обрабатывать только 2 аргумента (орехи). Было бы неплохо, если бы позволили больше.
Вы можете обрабатывать загрузку содержимого файла Excel, написав код Java с использованием библиотеки Apache POI (https://poi.apache.org/). Библиотека предназначена для работы с данными офисных приложений MS, включая Excel.
Недавно я создал приложение, основанное на технологии, которая поможет вам загружать файлы Excel в базу данных Postgres. Приложение доступно по адресу http://www.abespalov.com/. Приложение протестировано только для Windows, но должно работать и для Linux.
Приложение автоматически создает необходимые таблицы с теми же столбцами, что и в файлах Excel, и заполняет таблицы содержимым. Вы можете экспортировать несколько файлов параллельно. Вы можете пропустить этап преобразования файлов в формат CSV. Приложение поддерживает форматы xls и xlsx.
Здесь вы можете найти весь Java-код для приложения, созданного для экспорта Excel в Postgres (https://github.com/palych-piter/Excel2DB).
(Не уверен, включен ли ogr2ogr в установку postgres или я получил его с расширением postgis.)
[expert_bq id=»1570″]Файл должен быть доступен вашему системному пользователю postgres или любому другому пользователю, с которым вы запускаете сервер postgres. Если же вы хотите что-то уточнить, обращайтесь ко мне![/expert_bq]У вас должна быть привилегия выбора в таблице, значения которой считываются СКОПИРУЙТЕ и вставьте привилегию в таблицу, в которую вводятся значения вставлено КОПИЕЙ ИЗ. Достаточно иметь привилегии столбца для столбцов, перечисленных в команде.
Как экспортировать вывод запроса PostgreSQL в файл csv — CodeRoad
- 4 Обычный способ получить данные Excel — это экспортировать из Excel в CSV, а затем использовать Postgresql’s COPY команда для загрузки этого CSV-файла.
- 1 Взгляните на раздел «Связанные» справа от этого раздела, и вы увидите некоторых кандидатов, которые, вероятно, ответят на ваш вопрос.
COPY присвоение имени файлу или команде разрешено только суперпользователям базы данных, поскольку оно позволяет читать или записывать любой файл, к которому сервер имеет права доступа.