Регистр текста и удаление лишних символов с помощью Python
Код на Python для удаления лишних символов в текстовом списке и правке регистра
В контекстной рекламе и маркетинге в целом, мне очень часто требуются различные операции с текстом. Например банальное увеличение первых букв слова или словосочетания. Совсем недавно Директ Коммандер ввёл данную функцию в инструментарий, но тем не менее, в тех случаях, когда данную работу требуется выполнить, заходить в него не всегда удобно и соответственно медленно.
Или из текста необходимо удалить какой-либо лишний символ. Удалить один можно поиском и заменой в блокноте или Excel. А если скопом? Придется использовать составное условие — это опять же время.
Для решения данных задач и ускорения собственной работы, я написал код на Python и использую его через командную строку.
Ниже пример, где уже список контрагентов приведён в нижний регистр.
На входе программа спрашивает, что нужно сделать. После ответа принимается за работу. На выходе я получаю чистый список слов, который могу скопировать.
Примечательно, что программа работает с информацией из буфера обмена — это очень удобно. Не надо открывать никакие файлы, пускай даже обычный блокнот. На всё это тратится время.
По простому: Копирую список —> Запускаю программу —> Выбираю действие —> Копирую результат
В случае, когда текст единый и я его не разделяю в список, то обработав, его можно сразу передавать в буфер обмена через pyperclip.copy
Ещё один из примеров практического использования. Периодически требуется получить список номеров клиентов от менеджеров, например, для настройки look alike, но список всегда вот такой:
С помощью программы из памяти я обрабатываю его, удаляя лишние символы и получаю чистые значения за секунды.
В примере на скрине осталось значение с добавочным номером. В дальнейшем я улучшил код — он описан тут
Общий код программы
import pyperclip
s = pyperclip.paste().split('\r\n')
def lower(data):
result = []
for row in data:
row = row.lower()
result.append(row)
return result
frage = input('Вы хотите изменить регистр или удалить символ? 1 - Регистр, 2 - Символ: ')
if frage == '1':
operation = input('Выберите действие: 1 - нижний регистр, 2 - Первые заглавные, 3 - ВЕРХНИЙ РЕГИСТР: ')
print('------------------------------------')
lower(s)
if operation == '1':
for row in s:
row = row.lower()
print(row)
print('-----------------------------------')
elif operation == '2':
lower(s)
for row in s:
row = row.capitalize()
print(row)
print('-----------------------------------')
elif operation == '3':
lower(s)
for row in s:
row = row.upper()
print(row)
print('-----------------------------------')
elif frage == '2':
operation2 = input('Удалить все сторонние символы или какой-то один?: ')
if operation2 == ')':
for row in s:
row = row.replace(')', '')
print(row)
if operation2 == '(':
for row in s:
row = row.replace('(', '')
print(row)
if operation2 == '"':
for row in s:
row = row.replace('"', '')
print(row)
if operation2 == '*':
for row in s:
row = row.replace('*', '')
print(row)
if operation2 == ',':
for row in s:
row = row.replace(',', '')
print(row)
if operation2 == '«':
for row in s:
row = row.replace('«', '')
print(row)
if operation2 == '»':
for row in s:
row = row.replace('»', '')
print(row)
if operation2 == '.':
for row in s:
row = row.replace('.', '')
print(row)
if operation2 == "'":
for row in s:
row = row.replace("'", "")
print(row)
if operation2 == 'все' or operation2 == 'all' or operation2 == 'Все':
for row in s:
row = row.replace('*', '')
row = row.replace(')', '')
row = row.replace('(', '')
row = row.replace('"', '')
row = row.replace('*', '')
row = row.replace('»', '')
row = row.replace('«', '')
row = row.replace(',', '')
row = row.replace('.', '')
row = row.replace("'", "")
print(row)
Dobra