Создать таблицу на postgresql, используя информацию из таблицы Excel - PullRequest
0 голосов
/ 27 сентября 2019

Необходимо извлечь значения из Excel в таблицу в postgresql.Пример - данные формата таблицы Excel Таблица 1

Time       Flow
12:01 AM   30
12:02 AM   60

... Таблица PostgreSQL 2

Time       Price  Flow
12:01 AM    $1     ?(take from the excel sheet)
12:02 AM    $2     ?

Создана таблица 2 в postgresql и преобразована в фрейм данных.Попытка считывания значений из таблицы 1 таблицы Excel для размещения данных в таблице 2

Таблица PostgreSQL 2

Time       Price  Flow
12:01 AM    $1     30(taken from the excel sheet table 1 flow column)
12:02 AM    $2     60

1 Ответ

0 голосов
/ 27 сентября 2019

Сохранение электронной таблицы Excel в виде файла CSV.Разделитель, символ кавычки и т. Д. Должны совпадать. При использовании LibreOffice стандартные параметры просто работают.

Затем COPY или \ копирование во временную таблицу и UPDATE table2 оттуда:

CREATE TEMP TABLE tmp_x ("Time" time, flow int);

-- in psql!
\copy tmp_x FROM '/path/to/file.csv' WITH (FORMAT csv, HEADER, NULL '\N', DELIMITER E'\t');

UPDATE table2 t
SET    flow = x.flow
FROM   tmp_x x
WHERE  t."Time" = x."Time";

"Time" должно быть уникальным, конечно.

Связано, более подробно:

О COPY / \copy

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