#data-cleaning #openrefine
#очистка данных #openrefine открыть
Вопрос:
У меня есть большой CSV-файл, который содержит информацию о том, как разделяется коллекция. Например, один столбец содержит информацию о категории верхнего уровня, другой — о подкатегории, и их может быть довольно много в зависимости от подклассификаций.
В OpenRefine они выглядят как (например):
||field 1 || field 2 || field 3
||I am a section || I am a section with a subsection || I am a section with a subsection with another subsection
Чтобы иметь возможность правильно разделить их на верхний уровень и подразделы, я подумал, что, возможно, я мог бы использовать replace
функцию для удаления значения field1
из значения field 2
и далее. Это оставило бы меня с
||field 1 || field 2 || field 3
||I am a section || with a subsection || with another subsection
Мои вопросы:
- Правильный ли это подход или есть что-то более элегантное?
- Вопрос в том, как мне использовать
replace
функцию для динамического выполнения этого во всем CSV?
Ответ №1:
Вы можете ссылаться на другой столбец со следующим выражением GREL: cells['field 2'].value
Например, в вашем случае вы будете заменять значение из field 2
ничем (используя ''
), выражение: value.replace(cells['field 2'].value,'')