Как извлечь подмножество из файла CSV, используя NiFi - PullRequest
0 голосов
/ 14 сентября 2018

У меня есть CSV-файл, скажем, со 100+ столбцами, и я хочу извлечь только определенные 60 столбцов в качестве подмножества (оба имени столбца + его значение).Я знаю, что мы можем использовать процессоры Extract Text. Может кто-нибудь сказать мне, что регулярное выражение писать ?Например, из данного снимка я хочу, чтобы NiFi извлекал только столбцы «BMS_sw_micro», «BMU_Dbc_Dbg_Micro», «BMU_Dbc_Fia_Micro», т. Е. Извлекал только столбец «F, L, O».

любая помощь очень ценится!

SampleCSV

Ответы [ 2 ]

0 голосов
/ 15 сентября 2018

См. Мой ответ на этот вопрос SO на ваш связанный вопрос о выборе столбцов CSV.

0 голосов
/ 14 сентября 2018

Как я уже сказал в комментарии, вы можете посчитать количество запятых перед текстом, которое вы хотите сопоставить, и использовать его в RegEx, например:

/(?<=^([^,]+?,){5})[^,]+/

Что такое RegEx,он начинается слева от строки и подсчитывает количество запятых, прежде чем сопоставить текст между 2 запятыми.

Число в фигурных скобках определяет, какой столбец нужно сопоставить (сколько запятых пропустить).

Вы запускаете RegEx один раз для каждого нужного столбца, указывая номер столбца.

...