csv2psql
v1.0.1
Published
Импорт CSV файлов в PostgreSQL с автоматическим созданием таблиц и определением типов данных
Readme
CSV2PSQL
CSV2PSQL — пакет для быстрого импорта CSV файлов в PostgreSQL с автоматическим созданием таблиц, определением типов данных и внешних ключей.
Пользователь просто указывает свои данные PostgreSQL и путь к CSV-файлам, и пакет делает всю работу.
Автор
Nekruz Ikromov — t.me/inekruz
Особенности пакета
- CSV файлы с разделителем
; - Заголовки столбцов на русском — автоматически транслитерируются в английские имена
- Числа с запятой
1,23преобразуются в1.23 - Символ
%убирается, оставляя только число - Автоматически создаются таблицы и определяются типы данных (
INTEGER,BIGINT,NUMERIC,BOOLEAN,DATE,TEXT) - Автоматическая вставка данных и создание внешних ключей между таблицами, если значения совпадают
- Быстрая batch вставка больших CSV файлов
Установка
Глобально (CLI доступен из любой папки):
npm install -g csv2psqlЛокально в проект:
npm install csv2psqlИспользование через CLI
После глобальной установки можно запустить команду:
csv2psqlПрограмма запросит:
- Host PostgreSQL (
localhostпо умолчанию) - Port PostgreSQL (
5432по умолчанию) - User PostgreSQL
- Password
- Database
- Путь к папке с CSV файлами
Пример работы через CLI:
csv2psqlПосле ввода данных CSV файлы будут автоматически импортированы в PostgreSQL с созданием таблиц и связей.
Использование через скрипт Node.js
Пакет можно использовать как модуль внутри собственного скрипта:
const path = require('path');
const { importCSV } = require('csv2psql/lib/importer');
(async () => {
try {
await importCSV({
host: 'localhost', // адрес PostgreSQL
port: 5432, // порт PostgreSQL
user: 'postgres', // имя пользователя
password: 'mypassword', // пароль
database: 'my_database', // имя базы данных
folderPath: path.resolve('./csv_files') // путь к папке с CSV файлами
});
console.log('✅ Импорт CSV завершён!');
} catch (err) {
console.error('Ошибка при импорте CSV:', err.message);
}
})();Шаги:
- Создайте скрипт, например
import_my_csv.js. - Укажите путь к своей папке с CSV файлами.
- Запустите скрипт:
node import_my_csv.jsВсе CSV файлы из указанной папки будут импортированы автоматически.
Пример CSV файла
users.csv:
ID;Имя;Возраст;Зарплата
1;Иван;30;12345,67
2;Мария;25;23456,78После импорта будет создана таблица в PostgreSQL:
| id | imya | vozrast | zarplata | | -- | ----- | ------- | -------- | | 1 | Иван | 30 | 12345.67 | | 2 | Мария | 25 | 23456.78 |
Лицензия
MIT
Контакты автора
Telegram: t.me/inekruz
