Как Импортировать Данные из Excel в Postgresql •

Импорт данных Excel в PostgreSQL 9.3

В Excel выберите Файл/Сохранить как, выберите CSV, сохраните текущий лист.

перенести в каталог хранения на Pg-сервере доступ к пользователю postgres

Но есть и другие способы сделать это. PostgreSQL — это удивительно программируемая база данных. Они включают:

Напишите модуль на языке pl/javaU, pl/perlU или другом ненадежном языке для доступа к файлу, его анализа и управления структурой.

Используйте CSV и файл fdw_file для доступа к нему в качестве псевдотаблицы

Написать свой собственный сторонний упаковщик данных для чтения файлов Excel.

Вы также можете использовать консоль psql для выполнения\копирования без необходимости отправлять файл на сервер Postgresql. Команда такая же:

Вы можете загрузить таблицу в R как data.frame , а затем использовать dbWriteTable , чтобы отправить ее в PostgreSQL. Эти два шага показаны ниже.

Загрузить данные Excel в R

R data.frame объекты, имеющие отношение к базе данных. Есть несколько способов получить электронную таблицу в R, например XLConnect . Тем не менее, действительно простой способ — выбрать диапазон таблицы Excel (включая заголовок), скопировать его (т.е. CTRL + C ), затем в R использовать эту команду, чтобы получить ее из буфера обмена:

Если у вас есть RStudio, вы можете легко предоставить объект d , чтобы убедиться, что он соответствует ожидаемому.

Переместить его в PostgreSQL

Подтвердите, что вы установили RPostgreSQL из CRAN, затем установите соединение и отправьте data.frame в базу данных:

Теперь some_table_name должен появиться в базе данных.

Некоторые общие шаги по очистке могут быть сделаны из pgAdmin или psql:

Для python вы можете использовать openpyxl для всех 2010 и более новых форматов файлов (xlsx).

У Аль Свейгарта есть полный учебник по автоматизации скучных частей работа с электронными таблицами Excel очень глубокая, и вся книга и сопровождающий курс Удеми — отличные ресурсы.

Понятно, что, получив такой доступ, вы теперь можете использовать psycopg для анализа данных в postgres, как вы это обычно делаете.

Это ссылка на список ресурсов Python в python-Excel также xlwings предоставляет большой набор функций для использования python вместо vba в Excel.

С модулем 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 Office, включая Excel.

Недавно я создал приложение на основе технологии, которая поможет вам загружать файлы Excel в базу данных Postgres. Приложение доступно по адресу http://www.abespalov.com/ . Приложение протестировано только для Windows, но должно работать и для Linux.

Приложение автоматически создает необходимые таблицы с теми же столбцами, что и в файлах Excel, и заполняет таблицы содержимым. Вы можете экспортировать несколько файлов параллельно. Вы можете пропустить этот шаг, чтобы преобразовать файлы в формат CSV. Приложение обрабатывает форматы xls и xlsx.

эксперт
Мнение эксперта
Михаил Соловьев, консультант по вопросам работы с продуктами Microsoft
Если у вас возникнут сложности, я помогу разобраться!
Задать вопрос эксперту
Это более эффективно, нежели запуск большого количества операторов INSERT и даже одного INSERT-а с множественным включением выражения VALUE. Если же вы хотите что-то уточнить, обращайтесь ко мне!
Мы рекомендуем использовать штатную команду PostgreSQL – COPY для загрузки данных из одного или нескольких файлов. COPY оптимизирована для массовой загрузки данных. Это более эффективно, нежели запуск большого количества операторов INSERT и даже одного INSERT-а с множественным включением выражения VALUE
🐘 8 лучших GUI клиентов PostgreSQL в 2022 году

Семь практических советов по массовой загрузке данных в PostgreSQL

В этой статье мы дадим несколько практических советов по массовому импорту данных в БД PostgreSQL. Однако, могут возникнуть ситуации, когда ни один из них не станет эффективным решением проблемы. Мы рекомендуем читателям рассмотреть достоинства и недостатки любого метода, прежде чем применить его.

Понравилась статья? Поделиться с друзьями:
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!:

Adblock
detector