Файлы CSV упрощают процесс хранения данных. Поскольку формат основан на строках и столбцах, CSV хорошо транслируется в реляционную базу данных.

Файл CSV легко импортировать в базу данных и экспортировать из базы данных в файл CSV. Есть несколько различных методов, которые вы можете использовать для этого с PostgreSQL.

Создать CSV-файл

Вот несколько примеров данных CSV, которые вы можете использовать для создайте свой собственный файл CSV:

идентификатор, имя, фамилия, электронная почта
1,Рианнон,пульсифер,Рианнон.Пульсифер@пример.com
2,Мойна,Палоч,Мойна.Палоц@пример.com
3,Рослин,Бернард,Рослин.Беарнард@пример.com
4,Глория,Олдрик,Глория.Алдрик@пример.com
5,Феличе,Гринвальд,Феличе.Гринвальд@пример.com

Прежде чем импортировать CSV-файл в база данных PostgreSQL, вам нужно будет создать таблицу, соответствующую формату файла CSV. Используйте следующий код для создания таблицы Postgres.

СОЗДАЙТЕСТОЛ сотрудники(я быинтНЕТНУЛЕВОЙ,
символ имени (20),
символ фамилии (20),
символ электронной почты (50));

Импорт файлов CSV в PostgreSQL

Вы можете импортировать файлы CSV в таблицу Postgres на сервере или на клиентском компьютере.

Импорт файлов CSV на стороне сервера

Чтобы импортировать CSV-файл на сервер PostgreSQL, используйте команду PostgreSQL COPY и ключевое слово FROM. Это позволяет копировать данные из CSV-файла в таблицу Postgres при условии совпадения структуры. Используйте следующий код, чтобы скопировать образец CSV-файла в таблицу сотрудников:

КОПИРОВАТЬ сотрудников (id, имя, фамилия, электронная почта)
ИЗ '/tmp/sample.csv'
DELIMITER ','
ЗАГОЛОВОК CSV;

Путь в приведенном выше примере является абсолютным. Вы можете использовать путь относительно вашего каталога данных Postgres, если хотите.

Вы можете копировать данные с заголовками или без них, поэтому не стесняйтесь опускать последнюю строку кода, если они вам не нужны.

Импорт файлов CSV на стороне клиента

На клиентской машине используйте psql \копировать команда для импорта CSV-файла. Запустите следующий код в командной строке psql, чтобы скопировать образец CSV-файла в таблицу сотрудников.

\копировать сотрудников ИЗ '/tmp/sample.csv' DELIMITER ',' ЗАГОЛОВОК CSV;

Экспорт файлов CSV из PostgreSQL

Как и при импорте, вы также можете экспортировать файл CSV на стороне сервера или на стороне клиента.

Экспорт файлов CSV на стороне сервера

Используйте команду COPY и ключевое слово TO, чтобы экспортировать данные в файл CSV. Вам необходимо указать исходную таблицу и путь к целевому файлу. На этот раз путь должен быть абсолютным:

КОПИРОВАТЬ сотрудников В '/tmp/employees.csv' ЗАГОЛОВОК CSV;

Если вам нужно экспортировать только некоторые строки из базы данных, используйте команду SELECT следующим образом:

КОПИРОВАТЬ (ВЫБРАТЬ * ОТ сотрудников, где имя ='Мойна') К '/tmp/employees-moyna.csv' ЗАГОЛОВОК CSV;

Экспорт файлов CSV на стороне клиента

Для экспорта данных на стороне клиента используйте \копировать команда и К ключевое слово в командной строке psql:

\копировать сотрудников ТО 'путь к файлу.csv' CSV-заголовок;

Использование адаптера базы данных

Вам не нужно использовать терминал для импорта CSV-файла. Вы можете импортировать данные через объект курсора, используя предпочитаемый язык программирования. Например, если вы работаете с Python, вы можете подключиться к серверу PostgreSQL и выполнить КОПИРОВАТЬ команда.

Для этого вам нужно подключить Python к Postgres через адаптер базы данных, например psycopg2.

pip установить psycopg2

Подключитесь к базе данных, используя следующий код:

импорт псикопг2;

соединение = psycopg.connect(
база данных = "employee_db",
хост = "локальный хост"
пользователь = "постгрес",
пароль="пароль",
)

Затем создайте объект курсора и используйте его для выполнения команды COPY:

курсор = соединение.курсор()

курсор.выполнить(
"КОПИРОВАТЬ сотрудников (id, имя, фамилия, электронная почта)
ИЗ '/tmp/sample.csv'
РАЗДЕЛИТЕЛЬ ','
ЗАГОЛОВОК CSV;"
)

соединение.закрыть()

Управляйте своими данными PostgreSQL с удобством CSV

Это простой процесс импорта и экспорта данных с использованием файлов PostgreSQL и CSV. Вы можете использовать команды psql на клиенте или сервере или программно использовать адаптер базы данных.

Если вы больше любите графический интерфейс, рассмотрите возможность использования инструмента pgAdmin. Это приложение с графическим интерфейсом с открытым исходным кодом, которое может упростить импорт и экспорт данных.