Size: a a a

Python для анализа данных

2019 July 16

ND

Nick Donut 🍩 in Python для анализа данных
Andrey Denisov
Привет, вопрос
Получаю из Яндекс Метрики по API данные и готовлю их для вставки в mysql - из этого
http://prntscr.com/ofoajz получаю http://prntscr.com/ofob62
Но в utm-метках время от времени проскакивают лишние данные, которые надо чистить перед вставкой в БД. Вопрос - как это можно сделать максимально простым образом?
Грубо говоря, в метке нужно искать символ и отрезать его и всё, что после него - только делать это "на лету".
split по символу)
источник

E

Elenka in Python для анализа данных
Andrey Denisov
Привет, вопрос
Получаю из Яндекс Метрики по API данные и готовлю их для вставки в mysql - из этого
http://prntscr.com/ofoajz получаю http://prntscr.com/ofob62
Но в utm-метках время от времени проскакивают лишние данные, которые надо чистить перед вставкой в БД. Вопрос - как это можно сделать максимально простым образом?
Грубо говоря, в метке нужно искать символ и отрезать его и всё, что после него - только делать это "на лету".
Да, split по символу или если всегда одно и тоже то стрипом можете удалять, но это врядли.
А после определенного символа всегда идет лишнее или есть случаи, когда после него идет нужная инфа?)
источник

A

Andrey Denisov in Python для анализа данных
Elenka
Да, split по символу или если всегда одно и тоже то стрипом можете удалять, но это врядли.
А после определенного символа всегда идет лишнее или есть случаи, когда после него идет нужная инфа?)
Везде шаблон, этот символ одинаковый во всех случаях - и после него всегда лишнее. Больше он нигде не встречается
источник

A

Andrey Denisov in Python для анализа данных
Длина этого "хвоста" может быть сильно разной, можно ли делать strip до конца строки?
источник

YP

Yuriy Prudnikov in Python для анализа данных
Andrey Denisov
Везде шаблон, этот символ одинаковый во всех случаях - и после него всегда лишнее. Больше он нигде не встречается
Делай split по разделителю и не парься
источник

PC

Pavel Chagin in Python для анализа данных
"Больше он нигде не встречается"
Как правило, потом вдруг кто-то начинает использовать и поэтому может сломаться код. Лучше учесть это.

- Сприт всего URL по "?". В результате вторая часть это параметры.
- Сприт параметров по "&". В результате получиться список параметров.
- Сприт каждого параметра по "=". Получится пара Название параметра и Значение.
- Условие "Если Название параметра начинается с UTM, то.." Сплит значения по нужному символу. Взять только первую часть.
- Сложить всё в обратном порядке.

"Длина этого "хвоста" может быть сильно разной, можно ли делать strip до конца строки?"
Ты хочешь откинуть всё что после символа только внутри метки или целиком в URL?
Пример
URL:
xx.ru?utm_campaign=asd:123&utm_content=qwe

Тебе нужно:
xx.ru?utm_campaign=asd&utm_content=qwe
Или
xx.ru?utm_campaign=asd
?
источник

A

Andrey Denisov in Python для анализа данных
Это метка, без урла. utm_term, чаще всего - "спасибо" мегафоновскому  анти-дудосу.
Она в идеале должна быть, условно "yandex_market", а сейчас там "yandex_market?всякая_хрень" - нужно оставить только "yandex_market" , а "?всякая_хрень" убить. Т.е. откинуть внутри самой метки.
Сейчас в качестве "хрени" встречается и url, и другие метки.
источник

PC

Pavel Chagin in Python для анализа данных
Если ты имеешь сразу значение utm_term, то просто сплит по "?" и берёшь только первую часть. Без разницы какой длины хвост, всё откинется.
источник

E

Elenka in Python для анализа данных
Andrey Denisov
Это метка, без урла. utm_term, чаще всего - "спасибо" мегафоновскому  анти-дудосу.
Она в идеале должна быть, условно "yandex_market", а сейчас там "yandex_market?всякая_хрень" - нужно оставить только "yandex_market" , а "?всякая_хрень" убить. Т.е. откинуть внутри самой метки.
Сейчас в качестве "хрени" встречается и url, и другие метки.
ну сплит по ? тогда норм в целом)
источник

A

Andrey Denisov in Python для анализа данных
Спасибо, попробую
источник

A

Andrey Denisov in Python для анализа данных
Ещё вопрос - нет какой-нибудь полезной либы\функции, которая может чистить данные?)
источник

АМ

Алексей Макаров... in Python для анализа данных
Andrey Denisov
Ещё вопрос - нет какой-нибудь полезной либы\функции, которая может чистить данные?)
Смотря что вы подразумеваете под "чистить данные"?
источник

E

Elenka in Python для анализа данных
Andrey Denisov
Ещё вопрос - нет какой-нибудь полезной либы\функции, которая может чистить данные?)
дубли,выбросы, пропущенные значения? что вы имеете ввиду то лол
источник

A

Andrey Denisov in Python для анализа данных
Работа с некими шаблонами с автозаменой.
Например, если в a должен быть int, а прилетает str - обрезать по шаблону
источник

A

Andrey Denisov in Python для анализа данных
Elenka
дубли,выбросы, пропущенные значения? что вы имеете ввиду то лол
Не, это магия тогда)
источник

E

Elenka in Python для анализа данных
Andrey Denisov
Не, это магия тогда)
да это проще чем то, что вы хотите)
источник

E

Elenka in Python для анализа данных
Andrey Denisov
Работа с некими шаблонами с автозаменой.
Например, если в a должен быть int, а прилетает str - обрезать по шаблону
может коллеги знают, но я либо не очень поняла, либо это решается написанием собственной функции просто)
источник

A

Andrey Denisov in Python для анализа данных
Ну вот как раз с функцией-то всё понятно. Возможно, есть механизм отлова при получении данных - до их вставки куда бы то ни было
источник

A

Andrey Denisov in Python для анализа данных
Ну я только в питон вникаю, хочется максимально облегчить себе жизнь)
источник

dd

dgj dfsh in Python для анализа данных
Andrey Denisov
Ещё вопрос - нет какой-нибудь полезной либы\функции, которая может чистить данные?)
из закладок https://github.com/rhiever/datacleaner, сам не использовал
источник