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

avatar
user2181700
1 июля 2021 в 20:21
730
1
2

У меня есть файл, который я читаю в большой двоичный объект через фабрику данных. Он отформатирован в excel. Некоторые из заголовков столбцов имеют специальные символы и пробелы, что не очень хорошо, если вы хотите перенести их в csv или паркет, а затем в SQL. Есть ли способ исправить это в конвейере? Пример "Активации за последние 15 секунд высокий+низкий" "скорость первого входа (серийный T/a)"

Спасибо

Источник

Ответы (1)

avatar
Joel Cochran
2 июля 2021 в 13:30
1

Обычно Data Flow может справиться с этим за вас, добавив преобразование Select с правилом:

enter image description here

  1. Снимите флажок "Автоматическое сопоставление".
  2. Нажмите "+ Добавить сопоставление"
  3. Для имени столбца введите "true()" для обработки всех столбцов.
  4. Введите соответствующее выражение, чтобы переименовать столбцы. В этом примере используются регулярные выражения для удаления любого символа, который не является буквой.

СПЕЦИАЛЬНЫЙ СЛУЧАЙ

Может возникнуть проблема, если имя столбца содержит косую черту ("/"). Я случайно наткнулся на это в своем тестировании: enter image description here

Каждый из несопоставленных столбцов содержит косую черту. К сожалению, я не могу объяснить, почему это так, поскольку Data Flow четко знает имя столбца. Это можно решить вручную, добавив фиксированное правило для КАЖДОГО столбца, нарушающего правила, что, очевидно, далеко не идеально: enter image description here

ДРУГОЙ ВАРИАНТ

Вы также можете попробовать предварительно обработать текстовый файл с помощью другого потока данных, используя исходный набор данных без разделителей. Это даст вам содержимое каждой строки в виде одного столбца. Если бы вы могли получить дескриптор только первой строки, вы могли бы удалить специальные символы.

user2181700
5 июля 2021 в 20:54
0

Точно! Благодарю вас! это очень помогло.