Транспонировать строки в столбцы с помощью OpenRefine (переменное количество строк) - PullRequest
0 голосов
/ 20 апреля 2020

Может кто-нибудь помочь мне переставить переменное количество строк в столбцы?

У меня есть такие данные:

ID, NAMES
1, Jon
1, Jonny
1, Jonathan
2, James
3, Bill
3, William
4, Robert
4, Bob
4, Bobby
4, Rob

И я хочу это:

ID, Name1, Name2, Name3, Name4
1, Jon, Jonny, Jonathan
2, James
3, Bill, William
4, Robert, Bob, Bobby, Rob

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

Я знаю, что у каждого идентификатора будет максимум 4 имени.

Я думаю это легко с OpenRefine, но я действительно не могу понять это. Кто-нибудь может помочь?

1 Ответ

0 голосов
/ 20 апреля 2020

Как вы можете подойти к этому:

  • Создание «записей» OpenRefine на основе поля идентификатора
  • Объединение имен, связанных с одной записью, в одну ячейку
  • Разделить новую многозначную ячейку имен на несколько столбцов

Подробно:

  • В столбце идентификатора используйте «Редактировать ячейки -> Очистить вниз»
  • Убедитесь, что вы находитесь в режиме записи (верхний левый угол сетки данных «Показать как: записи»
  • В столбце ИМЕНИ используйте «Редактировать ячейки -> Объединить многозначные ячейки», указав Вы уверены, что разделитель не появится ни в одном из имен (например, символ вертикальной черты |)
  • В столбце ИМЕНА используйте «Редактировать столбец -> Разделить на несколько столбцов», указав тот же разделитель

Это должно дать результат, который вы ищете здесь

...