Каким образом можно выполнить запрос для добавления данных из CSV файла в таблицу базы данных?

Как можно выполнить массовую вставку данных из CSV файлов в таблицу в базе данных, при этом учитывая отсутствие поля "time" в CSV файлах и необходимость заполнить его значениями вместо NULL? Я использую PGADMIN для выполнения запросов, но также рассматриваю вариант использования DBEAVER или других средств. Какое простое и эффективное решение может быть предложено для массовой обработки более 100 файлов?
  • 26 декабря 2023 г. 14:27
Ответы на вопрос 1
Существует несколько способов выполнить запрос для добавления данных из CSV файла в таблицу базы данных. Один из возможных вариантов - использовать SQL команду COPY. Вот пример, как это можно сделать в PGADMIN:

1. Создайте таблицу в базе данных с необходимыми полями, включая поле "time".

2. Откройте SQL-окно в PGADMIN и выполните следующий запрос:

```
COPY table_name (column1, column2, column3, time)
FROM '/path/to/csv_file.csv'
DELIMITER ',' CSV HEADER;
```

Здесь `table_name` - это название вашей таблицы, `column1`, `column2`, `column3` - названия столбцов вашей таблицы, и `time` - название поля, которое нужно заполнить значениями вместо NULL.

3. Замените '/path/to/csv_file.csv' на путь к вашему CSV файлу.

4. Выполните запрос. Данные из CSV файла будут добавлены в таблицу базы данных.

Если у вас более 100 файлов, то вручную вставлять данные из каждого файла может быть очень трудоемким. В этом случае, можно написать скрипт на языке программирования, который автоматизирует этот процесс. Например, вы можете использовать Python и библиотеку psycopg2 для соединения с базой данных и выполнения запросов. Ваш скрипт должен быть написан таким образом, чтобы он повторял процесс для каждого файла и заполнял поле "time" значениями, вместо NULL.
Похожие вопросы