Postgresql выгрузка в excel
В процессе обучения аналитике данных у человека неизбежно возникает вопрос о миграции данных из одной среды в другую. Поскольку одним из необходимых навыков для аналитика данных является знание SQL, а одной из наиболее популярных СУБД является PostgreSQL, предлагаю рассмотреть импорт и экспорт данных на примере этой СУБД.
В своё время, столкнувшись с импортом и экспортом данных, обнаружилось, что какой-то более-менее структурированной инфы мало: этот момент обходят на всяких там курсах по аналитике, подразумевая, что это очень простые моменты, которым не следует уделять внимание.
В данной статье приведены примеры импорта в PostgreSQL непосредственно самой базы данных в формате sql, а также импорта и экспорта данных в наиболее простом и распространенном формате .csv, в котором в настоящее время хранятся множество существующих датасетов. Формат .json хоть и является также очень распространенным, рассмотрен не будет, поскольку, по моему скромному мнению, с ним все-таки лучше работать на Python, чем в SQL.
1. Импорт базы данных в формате в PostgreSQL
Скачиваем (получаем из внутреннего корпоративного источника) файл с базой данных в выбранную папку. В данном случае путь:
Имя файла: demo-big-20170815
Далее понадобиться командная строка windows или SQL shell (psql). Для примера воспользуемся cmd. Переходим в каталог, где находится скачанная БД, командой cd C:\Users\User-N\Desktop\БД :
Далее выполняем команду для загрузки БД из sql-файла:
"C:\Program Files\PostgreSQL\10\bin\psql" -U postgres -f demo-big-20170815.sql
Где сначала указывается путь, по которому установлен PostgreSQL на компьютере, -U – имя пользователя, -f - название файла БД.
Отметим, что в зависимости от размера базы данных загрузка может занимать до нескольких десятков минут. Конец загрузки будет отмечен следующим видом:
Заходим в pgAdmin и наблюдаем там импортированную БД:
2. Импорт данных из csv-файла
Предполагается, что у вас уже есть необходимый .csv-файл, и первое, что нужно сделать, это перейти pgAdmin и создать там новую базу данных. Ну или воспользоваться уже существующей, в зависимости от текущих нужд. В данном случае была создана БД airtickets.
В выбранной БД создается таблица с полями, типы которых должны соответствовать «колонкам» в выбранном .csv-файле.
Далее воспользуемся SQL shell (psql) для подключения к нужной БД и для подачи команд на импорт данных. При открытии SQL shell (psql) она стандартно спросит про имя сервера, имя подключаемой БД, порт и пользователя. Ввести нужно только имя БД и пароль пользователя, всё остальное проходим нажатием ентра. Создается подключение к нужной БД – airtickets.
Ну и вводим команды на импорт данных из файла:
\COPY tickets FROM ‘C:\Users\User-N\Desktop\CSV\ticket_dataset_MOW.csv’ DELIMITER ‘,’ CSV HEADER;
Где tickets – название созданной в БД таблицы, из – путь, где хранится .csv-файл, DELIMITER ‘,’ – разделитель, используемый в импортируемом .csv-файле, сам формат файла и HEADER , указывающий на заголовки «колонок».
Один интересный момент. Написание команды COPY строчными (маленькими) буквами привело к тому, что psql ругнулся, выдал ошибку и предложил написать команду прописными буквами.
Заходим в pgAdmin и удостоверяемся, что данные были загружены.
3. Экспорт данных в .csv-файл
Предположим, нам надо сохранить таблицу airports_data из уже упоминаемой выше БД demo.
Для этого подключимся к БД demo через SQL shell (psql) и наберем команду, указав уже знакомые параметры разделителя, типа файла и заголовка:
\COPY airports_data TO ‘C:\Users\User-N\Desktop\CSV\airports.csv’ DELIMITER ‘,’ CSV HEADER;
Существует и другой способ экспорта через pgAdmin: правой кнопкой мыши по нужной таблице – экспорт – указание параметров экспорта в открывшемся окне.
4. Экспорт данных выборки в .csv-файл
Иногда возникает необходимость сохранить в .csv-файл не полностью всю таблицу, а лишь некоторые данные, соответствующие некоторому условию. Например, нам нужно из БД demo таблицы flights выбрать поля flight_id, flight_no, departure_airport, arrival_airport, где departure_airport = 'SVO'. Данный запрос можно вставить сразу в команду psql:
\COPY (SELECT flight_id, flight_no, departure_airport, arrival_airport FROM flights WHERE departure_airport = 'SVO') TO ‘C:\Users\User-N\Desktop\CSV\flights_SVO.csv' CSV HEADER DELIMITER ',';
Приветствую всех.
При автоматизации небольших магазинов для хранения данных часто используют PostgreSQL. И часто возникает потребность экспортировать эти данные в Excel. В этой статье я расскажу вам как я решал эту задачу. Естественно, матерые специалисты вряд ли откроют для себя что-то новое. Однако, материал будет интересен тем кто «плавает» в этой теме.
Итак, естественно, самый просто и банальный способ экспортировать данные результатов запросов в csv-файлы, а затем открыть их в Excel. Это выглядит вот так:
- во-первых, вставка данных из PostgreSQL происходит именно на сервере;
- во-вторых, можно конечно заморочиться написать batch-скрипт, который будет удаленно вызывать этот запрос на сервере, затем этот файл скопировать на компьютер пользователя и инициировать открытие в Excel.
1. Идем по ссылке и в зависимости от разрядности компьютера скачиваем установщик ODBC драйвера. Установка его проста и не требует особых знаний.
2. Чтобы пользователи могли со своих компьютеров цепляться к БД не забудьте в файле pg_hba.conf установить параметры для IP-адресов, с которых можно производить подключения:
В данном примере, что все рабочие станции смогут подключаться к серверу с БД:
3. Далее через Excel просто генерируем файл динамического запроса к данным *.dqy. Далее этот файл просто можно менять по своему усмотрению. Можно прям ниже следующий текст взять, скопировать в блокнот и там отредактировать, сохранив файл *.dqy. Вводим имя файла и расширение dqy. Выбираем типа файла ВСЕ(All files):
DATABASE – указывается наименование БД к которой будет производиться подключение;
SERVER – адрес сервера;
PASSWORD – пароль на подключение к БД.
Обратите внимание, что в большом тексте указываются параметры подключения к БД и ваша БД. Также можно еще сконфигурировать множество параметров подключения
В последней строке пишется сам запрос. Далее сохраняем файл. Если на компьютере установлен Microsoft Excel, тогда файл сразу же приобретет пиктограмму:
При запуске файла будет выдано диалоговое окно. Смело нажимаем «Включить»:
И получаем результат запроса из БД:
Теперь можно создать несколько таких файлов и спокойно скопировать их на рабочий стол пользователя:
Кстати, я пошел немного дальше. Откопал старый добрый VB6. Можно так сделать с любым языком программирования. Сделал форму, которая по выбранной дате запрашивает данные из БД, путем генерации этого *.dqy файла:
Затем немного покодил (вот часть кода):
Результат получился тот же — данные из Excel, и пользователю удобно. Да, кстати, в строке:
если речь идет о 64-битном процессоре и драйвере ODBC, установленном для 64 бит, то надо писать:
Ну, и самое главное, несмотря на всю простоту способа, у него есть конечно недостатки: запрос можно писать только в одну строку, т.е. записать строку вот в таком виде не получиться. Нужно только в одну:
— Не сможет обрабатывать на изменение данных типа:
или
Ну и может выводить только результат запроса в виде списка, т.е. красивый документ сделать не получиться. На этом все. Надеюсь данный способ кому-нибудь пригодиться. Буду рад получить ваши рекомендации по усовершенствованию моего метода или альтернативного решения данной проблемы.
Привет! Это наш первый релиз из дома. DataGrip и другие наши IDE с поддержкой баз данных теперь умеют больше.
Конфигурации запуска
Если вы используете наши IDE, вероятно, эта концепция знакома. Когда вы хотите что-то запустить, создайте для этого конфигурацию. В DataGrip можно запустить файлы, скрипты и тесты.
Конфигурация для файлов
Раньше файлы запускались только по одному. Теперь в конфигурацию можно включить сколько угодно файлов, выставить нужный порядок, добавить к конфигурации запуск внешнего инструмента или другой конфигурации.
Новые конфигурации сохраняются автоматически. Если для запуска файлов вы хотите каждый раз видеть диалоговое окно конфигурации, например чтобы поменять базу, в которой запускаются файлы, отметьте галочкой Show this page. Это удобно, если вы привыкли каждый раз выбирать направление запуска, как раньше.
Конфигурация для запуска кода
Конфигурация может запускать не только файлы, но и запросы. Для этого выберите Script text.
Управление конфигурациями
Сохраненные конфигурации ищите на панели инструментов или в меню Run|Edit configurations…
Там вы увидите список конфигураций.
Поддержка тестовых фреймворков
Поддержали два фреймворка: utPLSQL для PL/SQL кода в Oracle и tSQLtдля Transact SQL в SQL Server.
Тесты и пакеты тестов можно запускать из редактора: на панели слева есть кнопка.
Для каждого запуска создается временная конфигурация: они циклически удаляются. Но в секции для каждого фреймворка можно создавать и постоянные конфигурации. Также тесты можно запускать по тэгам.
Еще один способ запуска тестов — при помощи комбинации клавиш Ctrl/Cmd+Shift+F10.
В окне инструментов Run будут результаты.
Редактор данных
Результаты в редакторе
Сделали новый режим: результаты запроса в редакторе. Этот режим можно включить и только для текущего файла кнопкой на панели инструментов, и для всей IDE: настройка Settings/Preferences | Database | General | Show output results in the editor.
Просмотрщик геоданных
Для этого мы включили браузер JCEF. Есть небольшая вероятность, что он ломает плагины, которые используют JavaFX. В DataGrip такие плагины почти не используют, поэтому мы решили попробовать. Если будут проблемы, пишите.
Когда вы находитесь в поле с гео-данными, нажмите на иконку с шестеренкой и выберите Show Geo Data.
Экспорт данных
Экспорт в Excel
Удобства
Подчистили меню с экстракторами: добавили группы, в именах оставили только формат. Экстрактора в Excel тут нет, потому что он не умеет копировать данные в буфер обмена.
Добавили диалоговое окно экспорта: появляется, когда вы экспортируете в файл. Тут уже можно выбрать формат *.xlsx .
Текстовый просмотр
Теперь данные в любом формате можно смотреть в редакторе данных: от того, какой экстрактор вы выберете, зависит то, как они отображаются.
Соединение
Поддержали pg_pass в PostgreSQL.
Добавили интерфейс для доменной аутентификации в SQL Server. Раньше надо было ходить во вкладку Advanced и вписывать значения в параметры.
Сделали общую конфигурацию SSH: теперь ее создать можно один раз, а использовать в нескольких источниках данных.
Консоль запросов
Превью апдейтов
Прежде чем запустить UPDATE , посмотрите, что получится. Для этого нажмите Alt+Enter и среди предложенных действий выберите Preview Update.
В полученном результате столбцы с новыми значениями будут рядом со столбцами до обновления.
Навигация к настройкам запуска
Есть два типа людей: те, кто любят этот выпадающий список, и те, кто его ненавидят.
Те, кто ненавидят, могут его отключить, но они не всегда знают, как это сделать. Мы добавили ссылочку Customize к настройкам запуска: можно убрать выбор, настроить несколько разных запусков, назначить сочетание клавиш для запуска всего файла.
Подсветка дат
Теперь мы понимаем, что даты — это даты, и подсвечиваем их соответственно. Предупредим, если что-то не так, например если дата нереалистична.
Помощь при написании кода в MongoDB
Продолжаем развивать поддержку MongoDB: добавили простое автодополнение.
Поиск и навигация
Контекстный источник данных
Теперь можно искать объекты в текущем источнике данных. Например, если вы, находясь в консоли, хотите найти таблицу, область поиска можно сузить до источника данных этой консоли. Для этого выберите Context Data Source в области поиска.
Можно искать сразу в нескольких источниках данных: для этого выберите их в дереве.
Структурный поиск
Еще одна концепция, которую мы взяли из наших других программ. Пока мы сделали базовый вариант: можно искать выражения, типы и предложения WHERE. О том, как это работает, читайте у нас в документации на английском.
Работа с файлами
CSV тип
Мы зарегистрировали тип файлов CSV. Это означает, что теперь вы не будете видеть нотификацию о том, что есть сторонние плагины, поддерживающие удобное редактирование CSV-файлов. Такая функциональность есть внутри DataGrip: открыв файл, вы увидите кнопку Edit as Table.
Если вы нажмете на нее, вам предложат выбрать формат файла, а затем внизу появится вкладка Data, в которой данные можно будет смотреть и редактировать в удобном табличном виде.
Прикрепление папки
В проводнике внутри DataGrip можно открыть папку, с которой вы работаете. У нас это действие называется Attach, но иногда люди делают это, используя меню File | Open. Раньше это действие открывало папку как проект. Теперь, если это не проект, папка прикрепляется к текущему проекту. И становится видна в панели инструментов Files.
Файл в режиме «только текст»
Из контекстного меню можно пометить файл как текстовый. Это означает, что в нем не будет работать подсветка и редактировать его можно будет быстрее. Полезно, если файл большой и его анализ требует много ресурсов.
Проводник базы данных
Добавили интерфейсы для создания баз данных, схем, ролей и пользователей.
А еще, если вы заметили, наш новый шрифт JetBrains Mono включен по умолчанию во всех IDE.
И напоследок: мы решили открыть для DataGrip канал в Телеграме. Будем там отвечать на вопросы, делать маленькие посты. Будет круто, если в этом канале вы будете помогать друг другу. О багах туда можно писать, но лучше заводить сразу в трекере: там они не потеряются.
1. Перейдите по ссылке и в зависимости от разрядности компьютера скачайте установщик ODBC драйвера.
2. Чтобы пользователи могли со своих компьютеров цепляться к БД не забудьте в файле pg_hba.conf установить параметры для IP-адресов, с которых можно производить подключения:
3. В данном примере, что все рабочие станции смогут подключаться к серверу с БД:
4. Далее через Microsoft Excel просто создайте файл динамического запроса к данным *.dqy. Далее этот файл просто можно менять по своему усмотрению. Можно как пример взять текст ниже, скопировать в блокнот и там отредактировать, сохранив файл с расширением *.dqy. Введите имя файла и расширение dqy. Выберите типа файла ВСЕ(All files):
DATABASE – указывается наименование БД к которой будет производиться подключение;
SERVER – адрес сервера;
PASSWORD – пароль на подключение к БД.
Обратите внимание, что в большом тексте указываются параметры подключения к БД и ваша БД. Также можно еще сконфигурировать множество параметров подключения.
В последней строке пишется сам запрос. Далее сохраните файл. Если на компьютере установлен Microsoft Excel, тогда файл сразу же приобретет пиктограмму:
5. При запуске файла будет выдано диалоговое окно.Нажмите «Включить»:
6. Результат запроса из БД:
7. Например можно создать несколько таких файлов и спокойно скопировать их на рабочий стол пользователя:
1. Перейдите по ссылке и в зависимости от разрядности компьютера скачайте установщик ODBC драйвера.
2. Чтобы пользователи могли со своих компьютеров цепляться к БД не забудьте в файле pg_hba.conf установить параметры для IP-адресов, с которых можно производить подключения:
3. В данном примере, что все рабочие станции смогут подключаться к серверу с БД:
4. Далее через Microsoft Excel просто создайте файл динамического запроса к данным *.dqy. Далее этот файл просто можно менять по своему усмотрению. Можно как пример взять текст ниже, скопировать в блокнот и там отредактировать, сохранив файл с расширением *.dqy. Введите имя файла и расширение dqy. Выберите типа файла ВСЕ(All files):
DATABASE – указывается наименование БД к которой будет производиться подключение;
SERVER – адрес сервера;
PASSWORD – пароль на подключение к БД.
Обратите внимание, что в большом тексте указываются параметры подключения к БД и ваша БД. Также можно еще сконфигурировать множество параметров подключения.
В последней строке пишется сам запрос. Далее сохраните файл. Если на компьютере установлен Microsoft Excel, тогда файл сразу же приобретет пиктограмму:
5. При запуске файла будет выдано диалоговое окно.Нажмите «Включить»:
6. Результат запроса из БД:
7. Например можно создать несколько таких файлов и спокойно скопировать их на рабочий стол пользователя:
Читайте также: