Загрузка таблицы PostgreSQL из CSV с данными с запятыми в скобках
Я получил некоторые данные CSV, которые мне нужно загрузить в таблицу PostgreSQL в следующем формате:
7227, {text with, commas}, 10.0, 3.0, text with no commas
Я хочу, чтобы строки моей таблицы выглядели так:
7227 | text with, commas | 10.0 | 3.0 | text with no commas
Как я могу использовать COPY и заставить ее игнорировать запятые в скобках?
Я пытаюсь избежать предварительной обработки файла, хотя это вариант.
1 ответ
Боюсь, вам придется отредактировать файл. Этот формат должен быть в порядке:
7227, "text with, commas", 10.0, 3.0, text with no commas
альтернативно
7227, text with\, commas, 10.0, 3.0, text with no commas
согласно этому принципу в документации:
Символы обратной косой черты (\) могут использоваться в данных COPY для заключения в кавычки символов данных, которые в противном случае могли бы быть приняты в качестве разделителей строк или столбцов. В частности, следующим символам должен предшествовать обратный слеш, если они появляются как часть значения столбца: сам обратный слэш, перевод строки, возврат каретки и текущий символ-разделитель.