.
Кому не знакомы странные наименования столбцов в таблицах, выгрузках или API, например,
deviceId или dReleaseDate. И каждый раз приходится ручками переименовывать, когда их 2-3 еще терпимо, но когда полей 20+, уже к 10 появляется 🤮.
ps: все же переименовывают при помощи
df.rename(columns={old_column_name: new_column_name}) 😉.
Попробуем автоматизировать этот процесс. На помощь нам придут замечательные регулярные выражения (тот самый модуль
re который ты обходил стороной и боялся как серебряной пули).
Создаем функцию
camel_to_snake, которая:- разделяет имена по заглавной букве
- переводит написание через нижнее подчеркивание
- переводит слова в LOWER CASE
import re.
def camel_to_snake(name):
name = re.sub('(.)([A-Z][a-z]+|[А-Я][а-я]+)', r'\1_\2', name)
return re.sub('([a-z]|[а-я])([A-Z]|[А-Я])', r'\1_\2', name).lower()
Пользуйстесь наздоровье🙌
.
А вообще регулярки - это очень мощно, рекомендую обязательно ознакомится с фукнционалом модуля
re:- классная статья
- моя настольная книга
#regex #cameltosnake #code