как назначить правильные значения правым столбцам в Excel или Python

108
7

Недавно я очистил данные с помощью Python и экспортировал данные в файлы CSV. Но позже я обнаружил одну критическую ошибку. Поскольку я начинаю на Python, я пытался найти прошлые ссылки или некоторые материалы для меня, чтобы понять это сам, но не мог.

Позвольте мне сразу перейти к моей проблеме. Например, мой CSV файл выглядит так:

        amenity_TV  amenity_Wifi  amenity_kitchen  amenity_iron  ...  amenity_phone
hotel_A TV Wifi kitchen iron ... phone
hotel_B TV kitchen iron null ... null
hotel_C TV Wifi iron null ... null
hotel_D Wifi null phone null ... null

где находится отель, а номерами являются колонны. Я ошибался, я должен был назначить правильные значения в правом столбце. Например, как это должно выглядеть так:

        amenity_TV  amenity_Wifi  amenity_kitchen  amenity_iron  ...  amenity_phone
hotel_A TV Wifi kitchen iron ... phone
hotel_B TV null kitchen iron ... null
hotel_C TV Wifi null iron ... null
hotel_D null Wifi null null ... phone

Еще один вопрос: могу ли я обработать это в Excel или это более эффективно для этого, используя Python?

спросил(а) 2021-01-19T20:40:31+03:00 5 месяцев назад
1
Решение
64

Здесь можно переместить значения в правый столбец в Excel:

Создайте новый набор столбцов "amenity_TV", "amenity_Wifi" и т.д. Используйте SUBSTITUTE чтобы заменить "amenity_" в каждом заголовке столбца пустой строкой, т.е. просто вернуть "TV", "Wifi" и т.д. Проверяйте MATCH в каждой строке относительно полученного текста. Если есть MATCH - т.е. MATCH не возвращает ошибку - верните этот текст, в противном случае верните Null.

Исходные данные

enter image description here

Обновленные данные

Поместите эту формулу в I2 и перетащите ее вверх и вниз:

=IF(NOT(ISERROR(MATCH(SUBSTITUTE(K$1,"amenity_",""),$B2:$F2,0))),SUBSTITUTE(K$1,"amenity_",""),"Null")

enter image description here

ответил(а) 2021-01-19T20:40:31+03:00 5 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема