Решено - Как написать регулярное выражение в узле Knime Unpivoting для выбора столбцов - PullRequest
1 голос
/ 21 апреля 2020

Я пытаюсь отключить данные COVID-19 в Knime с помощью узла отмены. Данные, доступные от Джона Хопкинса в https://github.com/CSSEGISandData/COVID-19, представляют собой широкоформатный формат, в котором каждый новый день данных добавляется в виде нового столбца.

Я могу вручную сделать столбцы с ежедневными данными будут строки с узлом Unpivoting . Однако каждый день я должен перенастраивать узел для учета нового столбца. В моем рабочем процессе есть 5 узлов, которые должны это сделать.

Узел отмены имеет возможность использовать Regex , чтобы обнаружить столбцы для включения или исключения, но я не могу сделать это work.

Доступными столбцами для включения / исключения являются несколько названий полей, таких как провинция / штат, страна / регион, широта, долгота, а также длинный список столбцов даты в формате m/d/yy (или m/dd/yy если позже в этом месяце). Данные Джона Хопкинса для США имеют аналогичный формат, но с дополнительными столбцами для округов, изокодов и т. Д. c.

Все столбцы с датами представлены в этом году (т. Е. 2020).

  • Для верхней части узла Unpivoting, где указаны столбцы значений, я могу сделать то, что мне нужно, с помощью параметра подстановочного знака и шаблона */*/20
  • Для нижней части узла Unpivoting мне нужно подстановочный знак или выражение Regex, чтобы указать все остальные столбцы.

Все остальные столбцы содержат буквы алфавита. Ни один из них не имеет формат м / д / гг. Поэтому какой-то тип Regex, который включает в себя любой столбец с алфавитными именами столбцов или указывает НЕ m/d/yy, должен сработать.

Я попытался использовать [\s\S]+ для помощи в написании Regex, но кажется, ничего не работает. Я ценю любую помощь.

Image is screenshot of unpivot configuration window

Ответы [ 2 ]

1 голос
/ 22 апреля 2020

Я думаю, что может быть легко выбрать другие столбцы вручную в разделе Retained columns. (Таким образом, вы можете легко удалить некоторые из них, если хотите.) Я предполагаю, что столбцы даты находятся в одной группе, поэтому вы можете нажать на первый столбец, чтобы сохранить его, прокрутить вниз до первого столбца даты, который вы не хотите оставьте Shift+click в предыдущем столбце, включите их, выделите столбец после столбцов дат и выполните аналогичные действия. Пожалуйста, используйте опцию Включить принудительно, чтобы не генерировать предупреждения / ошибки при добавлении новых столбцов. Пример: Enforce inclusion with selected columns

Таким образом, впоследствии вы можете легко удалить столбцы из сохраненного.

PS: на скриншоте кажется, что вы забыли включить + с конца выражения.

1 голос
/ 22 апреля 2020

Если имена других столбцов не имеют /, вы можете использовать [^/]+. Проверьте здесь для получения дополнительной информации.

...