Самый простой способ объединить 6 .csv файлов в 1 таблицу - PullRequest
0 голосов
/ 09 мая 2018

Мне нужно объединить 6 файлов .csv в одну таблицу (а затем 1 .csv). Таблица имеет только один столбец (электронная почта). Я очень новичок в этом ...

В настоящее время я все делаю правильно:

CREATE TABLE tablename (
email char(200)

);

и затем, один за другим, я делаю это, и по какой-то причине вместо файла 40 МБ я получаю файл 500 МБ.

COPY tablename(email) from 'E:\WORK\FXJohn1.csv' DELIMITER ',' CSV HEADER

и я делаю это еще 5 раз

COPY tablename(email) from 'E:\WORK\FXJohn2.csv' DELIMITER ',' CSV HEADER
COPY tablename(email) from 'E:\WORK\FXJohn3.csv' DELIMITER ',' CSV HEADER
COPY tablename(email) from 'E:\WORK\FXJohn4.csv' DELIMITER ',' CSV HEADER
COPY tablename(email) from 'E:\WORK\FXJohn5.csv' DELIMITER ',' CSV HEADER
COPY tablename(email) from 'E:\WORK\FXJohn6.csv' DELIMITER ',' CSV HEADER

1 Ответ

0 голосов
/ 09 мая 2018

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

Увеличение размера вызвано использованием char(200), поскольку оно заполняет 200 символов для каждой строки. Вы должны использовать varchar(200), так как он будет хранить более короткую строку без ее заполнения, или событие text, если вам не нужно применять ограничение размера. См. документ

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...