Пишу реальную программу. Парсинг текстового файла. Python + Pandas + Excel.
Вставка
- Опубліковано 8 чер 2024
- Запишитесь на бесплатную консультацию курса "Английский для разработчиков" от Яндекс Практикума: clck.ru/347Eyg
Пишу реальную программу на языке Python и подробно объясняю каждый шаг. С картинками и стрелочками.
Задача взята с фриланс-биржи. Нужно разобрать текстовый лог-файл криптобота и записать результаты в таблицу Excel.
Применяю строковые методы питона, программистскую смекалку, фото котиков, а так же супер библиотеку pandas, которую хорошо бы знать каждому разработчику! 🐼🙌
⭐️ Мой подробный "Роадмап деда-программиста. Python бэкенд." со скидкой 10% : stepik.org/a/133721/pay?promo...
👨💻 Чат Дедов-программистов в телеграме: t.me/oldcodersclub
💥 Наш очень крутой GitHub дедов-программистов с кучей полезной информации для начинающих - роадмапы, с чего начать и куда развиваться : github.com/OldCodersClub
💾 Финальный код, техническое задание и лог файл: github.com/break-and-enter/ol...
00:00 Intro
00:45 Задача
02:23 Приступаю
05:16 Pandas
09:07 Шаблон
11:27 Вторая строка
12:09 Финт ушами
14:11 Функция
16:18 Третья строка
19:08 Финишная отделка
22:25 Outro
Реклама. АНО ДПО «Образовательные технологии Яндекса», ИНН 7704282033, erid: LjN8KZ16i - Наука та технологія
мне понравился такой формат. Интересно наблюдать за вашим ходом мысли. Побольше бы таких видео!))
Здравствуйте! Как всегда шикарное видео!!!
Очень крутой и интересный формат, самому хоть и 16, но очень замотивировал, как никак другой, делать заказы интересными способами для себя способами!
Спасибо тебе, подписка и лайк ✅👍
Отличное видео! Надо побольше таких и вообще побольше роликов про Python))
Видео хорошее для новичков даже что-то понятно!! Первое видео за двухнедельный отпуск (от "супер" школы СКИЛЛФЕКТОРИ, которую не советую), которое посмотрел без зевания и с интересом! Спасибо!
Классное видео, очень интересно было посмотреть решение реальной задачи!👍
Очень интересно рассказываешь! все понятно, хотя я только только начинаю с python знакомство. Формат видео заходит отлично. Спасибо за работу!
Огромное спасибо! Отличное видео! Подписался везде, лайк поставил, код посмотрю, спасибо огромное за свободный доступ к коду 🙏🙏🙏, очень жду еще видео и советы для начинающих, какие книги и что учить
Спасибо!! Вот это мое видео смотрели? - С чего начать изучать программирование?
ua-cam.com/video/_PfQvdDq_bY/v-deo.html
Я только только начал изучать Python (чисто для саморазвития - интересно стало). Много в видео ещё нового и не понятного, но зато я наглядно увидел, для чего изучаю сейчас все эти функции, словари и списки ))))) А то не люблю изучать что то, но не понимая для чего я это делаю ))))) Спасибо за видео ))
👍 вот именно для этого я и старался! 🙌
Спасибо. Посмотрел с удовольствием.
Приветствую! Спасибо за видео!!! 👍
Отличное видео получилось!
Видео супер жаль коротковато и это не шутка. Реально норм объяснил. Прошу не останавливаться запиши еще подобные видео благодаря тубе я в свои 45 начал учиться увидел интерес в жизни. Спасибо тебе большое. Ты просто красавчик. ❤
Спасибо :) Буду. Пока роадмапом занимался - может быть вам полезным stepik.org/a/133721
Отличное видео, смотрится на одном дыхании... и мотивирует написать что либо похожее.
Отличное видео, спасибо! Удивляюсь на некоторых комментаторов, которые критикуют автора. Автор сразу предупреждает, что видео в бОльшей степени мотивирующее, чем обучающее. Обидно, что отдельные граждане не умеют ценить ни чужих усилий, ни чужих намерений.
Не, у меня все комментарии в основном суперские! Но спасибо за поддержку 😀🤝
Тот самый момент когда первое видео на этом канале казалось сложным и непонятным, а теперь решение кажется простым и примитивным))
Значит время не было потрачено зря))
Все сделал четко !
Отличная подача материала
Спасибо, нашел для себя несколько интересных моментов, почему мне не приходило в голову использовать replace в таких же случаях.
Я сам не сразу додумался!
В template вместо списка кортежей я бы использовал dict. Хотя во время написания кода умные мысли всегда медленнее программиста. Компилится - и ладно ✅
Согласен, словарь тут прямо напрашивается. Проще с ним оперировать для такой задачи.
"Питон" и "компилится" - плохо совместимые понятия
@@Uni-Coder Отлично совместимые. Cpython есть как стандарт компилированного пайтона. В крайнем случае такие проекты можно в екзешник запихнуть через тот же py-installer
@@AwakenDrow Совместимые, но не могу сказать, что отлично. Компилируются обычно статически типизированные языки. py-installer же просто запаковывает интерпретатор питона и все зависимости в самораспаковывающийся архив, насколько я знаю. То есть этот "экзешник" просто распаковывает интерпретатор и дальше идёт всё та же интерпретация. Делал я такое, и не раз. Размер "экзешника" получается гигантский.
"Компиляция" - это всё-таки про C, C++, Rust и Pascal; для остальных это не очень типично.
спасибо за видео, посмотрим )
превосходно! видел этот заказ, но поленился взять его, как раз из-за бардака в исходных данных =)
спасибо за информацию и эмоции
очень интересный контент
Спасибо за интересное видео.
Спасибо. Классно получилось. Так все просто у Вас. Прям учиться захотелось. Объясняете понятно. Может уже курсы по пайтон откроете?
Я пишу сейчас не курс, а роадмап Python веб-разработчика. Объясняю подробно что и зачем учить и даю ссылки на бесплатные ресурсы по которым учился я, или которые я узнал позже и они мне нравятся
@@oldcoders Добрый день. Когда планируется выпуск данного сборника?
Надо собраться с силами и закончить его. Надеюсь в сентябре сделаю это.
Типовая задача для regex. Спасибо за видео.
К вопросу как бы сделали мы: если уже подключили и используем pandas, тогда циклы уже не используем вообще. Вывод наименований в список тоже можно было написать с функциями из pandas. Соответственно код программы кратно уменьшается.
Я слушал видео, а не смотрел. но первое что пришло в голову, что надо подумать об использовании регулярных выражений. ну и сильнее дробить на небольшие функции данный код.
Да, регулярки пригодились бы, но я в них так не хочу разбираться :)
Да, хорошо дробить на функции и добавлять конструкцию: if __name__ == "__main__" . Код без отступов не очень хорошая практика
Руслан, спасибо за новое видео, интересно:
- 10:53 при изучении Пайтона, вам ментор сказал, что существует метод to_string , непонятно где можно это было узнать?
- если я скачаю у Вас лог файл задание и буду тупо повторять за вами, как думаете это поможет в изучении языка?
Привет!
Ментора не было у меня. Всякие такие to_string узнаются когда возишься много дней со своей программой и много гуглишь. Документацию по пандас бесполезно читать, там тысяча методов, надо конкретный вопрос гуглить. Возникла в вашей программе потребность - и пишешь в гугл типа «pandas how to print whole dataframe». И так для каждой мелкой задачи по ходу написания вашей программы.
Скачать лог файл и просто повторять - мне кажется бесполезно почти. Вам надо поставить себе реальную задачу, чем то похожую на мою , хотя бы отдалено. Какой то файл в экселе вам может нужно обработать? И пишите свою программу и возможно какой то элемент из моего видео пригодится.
@@oldcoders Руслан, спасибо!
Юморить ещё успевает)
В pandas есть фильтрация, она применяется сразу ко всему датафрейму (строке, колонке) поэтому циклы ему не нужны. Также, в pandas есть все строковые методы и поддержка регулярок. Думаю, фанаты pandas распарсили бы этот лог файл и сохранили в эксель однострочным выражением. 😊 В этом фишка pandas, он умеет делать невероятные вещи в несколько строк кода.
nice, thank you!
Спасибо!
Очень круто, спасибо за видео. 🤓👍 У меня одна мысль возникла - а нельзя ли эту работу сделать используя Power Query? Там тоже можно фильтровать, разделять строки по символам и т.д.
Наверное можно! Обработку данных много где можно делать.
В power query можно все, потому, что в него встроен язык "М". Как начал пользоваться power query VBA практически перестал использовать. 😊
Спасибо Вам за видео работы в excel. Вы приподносите информацию очень доступно, без претензии на уникальность подхода - это подкупляет. Как оказывается "просто" на Python получить доступ к excel, а то раньше на Си приходилось работать с OLE-, а то и COM-интерфейсами - удивительно, как все становится очевидным с Python, особенно в Вашем изложении ... как все же в Python, будучи интерпретатором, распространять приложение на другие компьютеры с той же операционной системой (Windows) без экзешника (*. exe) 🤔?
Ну 3 варианта:
1) компилировать экзешник.
2) учить как запускать вашу программу на других компах при помощи Python (устанавливать сам питон и модули)
3) писать веб-приложение и выкладывать в интернет. но этому долго придется учиться
Икселя с момента появления *.xlsx уже являлась практически читабельным XML, так что никакие OLE не нужны.
Да не нужно никакого доступа в Excel, создаешь файл в формате CSV формате и все, проще некуда, Excel без проблем открывает такие файлы.
Так и выглядят в основном задачи на фрилансе, реалии работы с данными, это и есть программирование)
Расскажу про свой опыт программирования, парсинга и API... Вчера получил задание от начальства проанализировать онлайн кабинет мобильного оператора с тысячью записей в каждой записи есть свои подключенные функции, плюс есть файл который содержит информацию о том что нужно еще подключить по каждому номеру. Не имея опыта в программировании, с помощью CHATGPT написал парсинг на Python за час... но есть одно но. Чтоб это делать как минимум нужно понимать что тебе надо и как это нужно реализовать... и это ты должен описать самому чату. Как минимум спасибо что делитесь с нами алгортимами решений задач.
Платная версия gpt4?
@@ypohut1673 нет... обошелся бесплатным
Я бы написал макрос на VBA в самом Excel.
Хорошее видео, спасибо !
new_line replace можно было следать .replace(':', ' ').replace('.', ' ') насколько я помню они работают последовательно
Скорее всего да! Но хотел пошагово, чтоб попонятнее.
Можно было и split(":")
Видео совсем не скучное, а даже интересное, а разделитель можно в самом экселе поменять)
Могу предложить идею для следующего видео. Сделать небольшую crm для заведения заявок с джанго и базами данных. + приправить динамическими страницами
Я хотел сделать видео с полноценным Джанго проектом, но это была бы гигантская работа и минимум просмотров. Очень много надо объяснять, все это растянется на штук 10 видео. Чтобы было понятно и интересно - надо почти месяц тратить на каждый ролик. А просмотров у роликов про Джанго очень мало, посмотрите мою третью часть - всего 7 000 просмотров.
Вобщем неинтересно мне так тратить время, к сожалению.
Отличное видео, спасибо, узнал новое для себя.
Может быть я упустил эту часть, но возник вопрос:
вот у вас в итоге написан готовый код в пайчарме, он работает как нужно и всё хорошо,
но как его в итоге будет использовать условный заказчик с фриланс биржи?
Докер с контейнерами или есть какая то функция пайчарма, позволяющая как то упаковать и упростить запуск для заказчика или что то другое?
Да. Тут неудобно конечно получается. Три варианта :
1) скомпилировать мою программу в исполняемый exe файл (обычно так с питоном не делают)
2) отдать мой скрипт, научить как устанавливать IDE и все нужные библиотеки и запускать программу (ужас, непосвященному человеку будет страшно)
3) оформить программу в виде веб-приложения (но это надо быть веб-разработчиком и еще надо иметь сервер и выкладывать на него)
@@oldcoders К пункту 3. Есть удобная бесплатная программка "openserver". Она как раз предназначена для того, чтобы запускать "сервер" у себя на компьютере. Сам недавно стал пользоваться для запуска самодельных "сайтов", которые состоят из страниц html, js, php.
@@oldcoders К пункту 1. Можно делать запускаемые файлы прямо в самом Питоне или через Терминал. Для этого предназначена библиотека "pyinstaller".
По пункту 3 - ngrok еще. Единственное - придется держать свой компьютер всегда включенным, не лучшее решение. Все таки правильней делать традиционный деплой на сервер.
Разделитель не в excel задается, а в региональных настройках.
я до этого видео решал такие вопросы с помощью power query excel, буду модернизироваться
Вы знаете, это не обязательно, переходить на Питон. Если задача решается быстро тем способом, который вы умеете - надо решать им. Просто для меня лично приятнее и удобнее сделать это при помощи Питона.
Интересно как можно задать в эксель ширину столбца?
в питон метод replace регулярное выражение не может принимать? чтобы сразу заменить все ненужные спецсимвол на пробелы
Регулярными выражениями было бы проще все сделать, да. Но я в них не умею.
В современных версиях Excel, начиная с 2016 эта, вполне себе тривиальная задача, решается с помощью встроенных инструментов- Power Query. Я бы прикрутил ко всей этой истории макрос VBA. Но задачка интересная!
Если бы мой канал был про VBA и Power Query - я бы обязательно решил задачу при помощи них.
Спасибо, вдохновило. Пойду попрошу друга, пусть разместит заказ на бирже, сделаю за пиво.
😁👍 отличный план
За котика лайк!
спасибо
Приветствую. Я так понимаю, что взять из открытого файла эксель данные, не сохраняя предварительно. не получится? Поясню: в экселе использую макросы, для выборки нужных данных в двух разных файлах, потом из них, открытых и уже после работы макросов, открываю третий, где арифметическими формулами происходит подсчёт (посещение людей по отделамм). Эксель отрабатывает только когда открыты первые два файла, собственно по этому и возник вопрос, может ли пайтон/питон брать данные из открытых файлов. Или питон может вместо макросов произвести всю выборку/фильтры в экселевских файлах, типа как в вашем видео?
Питон открытые и несохраненные файлы обработать не сможет.
Но он точно сможет сделать любые ваши подсчеты и фильтры вместо макросов, с любыми сохраненными файлами.
Еще вот это мое видео посмотрите , я там эксель файл открываю и обрабатываю
ua-cam.com/video/eEbi7wdZNV4/v-deo.html
Pandas все это делает легко. Чтобы посмотреть данные, можно использовать jupyter. Так можно делать и графики и выборки и все что угодно.
Руслан, изучай регулярки...с ними задачи по парсингу текста решаются намного легче. Да и аргумент regex=True сразу станет понятным:)
Да да, регулярками было бы меньше кода и быстрее, но блин не могу я 😁 не лежит душа :)))
@@oldcoders да там ничего сложного...надо просто изучить базовые правила и этого уже будет достаточно. посоветую книгу Джеффри Фридла "Регулярные выражения.3-е издание", очень подробно расписано и легко читается
@@oldcoders На Степике есть вполне хороший курс, который я прошёл - "Регулярные выражения в Python". Можно уделить несколько дней и навсегда закрыть эту проблему.
@@oldcoders Не лежит душа - это потому что они при Первом взгляде кажутся страшными. Но стоит научиться использовать хотя бы их базовые возможности - и они становятся родными.
@@tigr4 Вещь очень сильная, но в отдельных случаях возникают большие вопросы к быстродействию. Движку regex надо построить автомат, это занимает время, да и на исполнение автомата требуется время. Но в 99% регексы - имба.
А если в файле поменяются названия столбцов? Или нужно будет местами их менять?
Если в лог файле что-то поменяется - да, руками придется подправлять код 🤷🏻♂️
Круто
На мой взгляд можно было обойтись без pandas, ведь вы ничего не анализируете, графики не строите. Библиотека openpyxl нормально работает со словарями, просто составить словарь для каждой даты и экспортировать в excel.
Можно было, согласен
Супер.
Каким софтом пользуешься для записи роликов?
У меня есть видео как я снимаю свои ролики : ua-cam.com/video/lZRssotg6Q0/v-deo.html
Монтирую на Final Cut
@@oldcoders какой софт для записи экрана и себя?
Добрый день! А как отдавали решение заказчику? Как-то упаковывали? Или как есть в виде кода, который нужно самостоятельно запустить?
Заказчик умеет запускать Питон, поэтому отдал в виде кода.
@@oldcoders Спасибо за наглядный пример решения реальной задачи! У меня есть вопрос по удовлетворенности заказчика. Я внимательно прочел все комментарии, прежде чем выбрать, где оставить свой. Был ли удовлетворен заказчик решением своей задачи на питоне в сторонней среде или он все же хотел, чтобы макрос запускался внутри экселя? Переделывал ли он парсер впоследствии?
Е мое)) И нас простых архитекторов заставляют учить программирование, такова жизнь))
👏👍
Привет.
Как написать код на Python, программу, которая позволить банить определенные каналы на ЮуТубе??
У UA-cam есть API , можете изучить, возможно есть что-то
😇
А почему template не словарем, а списком кортежей?
Для разнообразия, я словарь использовал в прошлом видео и подробно о нем рассказывал. ua-cam.com/video/eEbi7wdZNV4/v-deo.html
Судя по видео и сообщениям в консоли, пандас использует regex.
Почему вы не использовали regex для поиска и замены?
Как-то сталкивался с задачей парсинга пяти разных прайсов (экселек) от пяти разных поставщиком в csv для залива на е-коммерс. Основная боль - привести все данные к общему виду, после которого парсинг - самое простое )
Пробовал использовать пандас для чтения xls, но в итоге использовал xlrd
У меня в эксельках были именованные поля, которые нельзя было считывать через адрес D4, только по названию.
2-4т за вечер. Почему бы и нет? Если докстринги написать, покрыть тестами, asyncio использовать, то можно код к резюме прикладывать.
Регулярные выражения я так и не освоил. Поэтому не использую :)
Для резюме очень слабенький проект имхо.
@@oldcoders Слабый, возможно. Но покажет стиль.
Самому регулярка тяжело даётся. Приходится себя заставлять. Но она быстрая и прям создана для работы со строками.
Как xpath для xml
где вставка с обизяной!?
Она не в каждом видео :)
Для тех кто скучает по обезьяне есть видео - ua-cam.com/video/gNCqn3VZKvM/v-deo.html 😀
@@oldcoders Давно не смотрел, спасибо за напоминание и ссылку! После трудового дня хочется на чём-нибудь интеллектуальном отдохнуть :)
Программу для тестирования на базе вопросов xlsm) сложно для новичка написать ?
Не понял для тестирования чего, что значит на базе вопросов xlsm.
@@oldcoders есть файл xlsm. Там большое количество вопросов по разным темам и профессиям. Создать программу для тестирования проверки знаний ,с возможностью выбора вопросов из определенных тем из этой таблицы. То есть придется прописывать вопросы когда создаёшь файл программы или можно просто указать путь к таблице чтобы использовать эти вопросы?
@sergey7106 отличная задача. Нужно будет открыть файл, прочитать его, загрузить все вопросы в память (подумать как это сделать, какой тип данных применить, если есть варианты ответов - тоже подумать как их загрузить и как выделить правильный ответ).
Затем подумать по какому принципу отбирать вопросы.
Вобщем задача несложная если знать основы Python.
Вперед! :)
@@oldcoders спасибо буду думать) главное автоматизировать как можно больше))лень двигатель прогресса
Программист это тот кто тратит 1 час на задачу которую он бы решал 1 минуту, чтобы в будущем тратить 1 секунду на ее выполнение не только ему.
Интересные задачи найдутся, важно их не пропускать :3
И как писали ниже re помогло бы в решении, полезная штука на самом деле
Уж не знаю по поводу "от двух до пяти тысяч рублей". Мне кажется, на забугорных биржах индусы могут за такое взяться и "до двух тысяч". Правда, есть шанс, что можно получить программу такого же качества, как и та, которая создавала этот лог-файл
А что значит, что поведение пандоса изменится?
Можно ли это предотвратить?
Можно написать в примечаниях что «эта программа гарантированно будет работать с версией пандас 2.0.1, с последующими версиями работоспособность не гарантируется».
Тогда заказчик, например через 3 года когда будет запускать программу , установит «старенькую» версию пандас , а не самую последнюю.
Ну или я должен был другие использовать методы, по которым не вылезает предупреждение.
1. Можно скомпилировать проект в exeшник и тогда ему уже никакие обновления pandas не страшны будут. 2. Использовать виртуальные среды, где прописаны все текущие версии библиотек и самого питона и отправлять все таким комплектом. 3. Изучить документацию pandas и найти альтернативную функцию, на которую они планируют перейти в ближайшем будущем.
Дайте ссылку на фрилансе биржу
fl.ru
freelance.habr.com
freelance.ru
И тд
re>>CSV(delimiter=tab)
Это что, куда ?
@@oldcoders для разбора текстовых данных удобно использовать регулярные выражения; вместо формата xls используйте формат csv(открывается excel), в качестве разделителя используйте таб или ";" сам csv можете создавать как просто текстовый файл так и с помощью встроенной библиотеки - сможете легко создавать файлы вплоть до млн строк (excel больше не откроет)
А! Да, спасибо! Я использую csv вовсю, (разделители запятые :) ), так как интернет магазин все в Csv экспорт-импорт.
Ну задача у заказчика стояла именно текстовый файл разобрать и в xlsx записать, тут я не могу повлиять.
Моя текущая задача - поднять сарай на даче на 40 см от земли, а то врос уже (стал частью команды :))), смонтировать под ним свайный фундамент и поставить этот сарай на эти сваи. На каком языке лучше писать программу? Я вот по C# спец... но... думаю сложно будет на нем писать это...
на русском))
напиши грамотное ТЗ и найми фрилансеров))
А у меня дача, под ним блоки фундамента наклонились. Что делать? Алгоритм?
@@Roltun дачу на домкрат.
Блоки вынуть, подсыпать щебнем, вернуть обратно.
@@user-gu1vo9hm9x ок
А зачем для решения этой задачи применяется python? Это же типовая задача для power query, который штатно прилагается к MS Excel - там подобные трансформации данных даже не требуют написания кода, все решается готовыми шаблонами в визуальном интерфейсе.
Не проверял конечно, но там такая задачка решается минут за 20-30...
Я не владею power query, зато владею Python 🤷🏻♂️ И еще этот канал - для изучающих Python, поэтому мы тут все задачи решаем им 😁
Зачем - не катит такой вопрос! ЗатЕм! Знаешь power query - вперёд туда где его применяют и о нём базарят)
Какие Вы, однако, ранимые. Пытаюсь понять для себя - есть ли смысл изучать Phyton или нет. С одной стороны вроде как выполнение кода на Python происходит заметно быстрее, чем на MS PowerQuery. С другой стороны судя по всему процесс программирования для типовых задач (типовых для PowerQuery) на Python занимает заметно больше времени.
Хотелось понять границу в которой переход на Python имеет смысл?
Или это просто хайп забивать микроскопом (Python) гвозди в MS Excel?
Python это гораздо более универсальный инструмент. Экселевские задачи это только малая часть его возможностей. На питоне можно и игры писать и сайты и веб-приложения и сайты парсить, и телеграм-ботов писать и много чего еще.
Так что имхо неправильно сравнивать Power Query и Python.
Прикольно, что эта задача решается без программирования с помощью Power Query в Excel
Да, естественно. А так же она решается в других табличных процессорах и на любом другом языке программирования. И вручную решается 😀
Способов решения много. Я просто рассказываю про один из них.
power query замечательная вещь для обработки небольших таблиц ..
иначе просто тормози т и зависает
Хм, перебирать датафрейм pandas в цикле - не очень хорошая идея. Если и дальше будете работать с табличными данными - советую поизучать эту библиотеку. За видео - спасибо.
Подскажите как правильно? Я в цикле текстовый файл читал, а датафрейм в цикле не перебирал все таки.
@@oldcoders Где-то на стаке или в документации читал, что заполнять датафрейм данными - не рекомендуемая практика по причине низкой производительности такого подхода. Но думаю, что для выходного файла с четырьмя строчками это не критично:) А вообще рекомендуется создавать и заполнять сперва словарь списков python, а уже потом его превращать в датафрейм. Это якобы более производительное решение (сам не проверял:). В целом видео понравилось более чем, но для полноты и честности не хватает элементов гугления тех или иных функций сторонних библиотек. Новички могут не понять, откуда берутся знания о них и создается превратное ощущение, что автор просто на зубок выучил документацию к библиотекам:)
Вас понял, надо почитать про заполнение датафрейма данными, спасибо.
Гугление - я вовсю показывал во всех предыдущих видео, про codewars например, в этом видео уж не стал, чтобы не растянуть на полчаса и чтобы видео не превратилось в хаос. Но вообще да, согласен, гугление - неотъемлемая часть процесса. Наверное лучше и его показывать.
Привет, зачем заморочки с кортежем если есть словарь?
например ищем name = 'вася', создаем словарь аля:
name_dict = {маша: красавица, вася: рокер}
пишем:
if name in name_dict.key(name.lower)
return name_dict[name]
думаю в данном случае можно было создать файл словаря, в функции открыл файл проверил по ключу, вернул значение или False ... и не было бы в коде кучи строк кода...
Можно было и словарь использовать, да. Но количество строчек кода особо не уменьшилось бы
@@oldcoders ммм, что значит не уменьшилось??? создаем в отдельном файле функцию, которая будет возвращать твой словарь, в мэйне ее импортируем и просто по данной функции ищем ключ-значение... в мэйне у тебя будет красиво ;) но это субъективное мнение такого же 40+ деда ;)
Ну распихать код по модулям это не значит уменьшить количество кода :)
@@oldcoders ну вообще как бы пихать всё в один файл вообще признак плохого вкуса ;)
Если бы это был большой проект - то конечно. В моем случае нужно отдавать файл человеку который совсем чуток дружит с питоном. Поэтому лучше чтоб все в одном файле.
Почему не переписать логгер?
Что вы имеете в виду? Создателю криптобота? Насколько я знаю он уже на нем разбогател и выпускает более важные обновления чем добавить пробелы в логгер 🤷🏻♂️
Не длинно и не скучно. Не все понял. Конечно, для шаблонов просятся словари, но там неупорядоченное хранение.
или просто скомпилить со всеми библиотеками и не парится, есть у клиента питон или нет, есть там библиотеки или нет
Это сколько стоит? Рублей 500?
А вот досмотрите до конца, там я об этом сказал 😀
Хорошо поставленное ТЗ - это миф. Заказчик не разбирается в программировании (иначе он сам бы мог эту программу написать), а следовательно он принципиально не способен грамотно поставить ТЗ. Вот пример из ролика задача "заменить точки на запятые" правильно должна звучать так "присвоить столбцам с 5 по 47 тип float64". Поэтому программистам которые молятся на ТЗ и у которых главная отмазка "этого нет в ТЗ" надо ежедневно давать леща. Тем более что если для написания одной программы нет смысла писать универсальный обработчик, то для ежедневного написания программ для разных заказчиков написание универсального обработчика уже является необходимостью для самого программиста.
Да, согласен, ТЗ написанное программистом для программиста практически не существует. Поэтому я и сказал что вот обычная эксель таблица, пример выходного файла - лучшее тз. Если бы ее не было - я бы дергал заказчика как минимум 47 раз, по количеству столбцов :)
Я придумал проект!
Так, какой?
@@oldcoders Рассказывать не буду. Для тех кто учится ) сайт
Средний прогер с помощью ChatGPT такую прогу за пол часа сделает.. поэтому 2-5к под вопросом)
Есть Эксель. В нем есть vba. Питон тут собаке пятая нога
Задача стоит именно на питоне сделать
А если вместо Pandas использовать Polars скорость обработки х10
Мужик видимо занимается теханализом крипты)
Ага 😀
Наоборот, все эти моменты не по правилам, показывают, что программирование подвластно каждому к изучению и что бы понять как всё работает можно делать как по кайфу, лишь бы работало, а потом уже всё улучшать и углублять в усложнение
Да, я тоже считаю что все эти ошибки, неправильности и поиски ответов в интернете надо показывать. Чтобы не казалось что программисты это сверхлюди выучившие наизусть язык программирования и все библиотеки и фреймворки :))
Реклама курса английского в видео, где автор пишет splitTED, хотя даже IDE подчеркивает, намекая что это неправильный глагол) split - split - split.
О, не знал, прикольно. Ну я и не говорю что я круто по английски говорю 😀
Впрочем пишут splitted тоже и пользуется :
“Split” is the best and most recommended word to use rather than the slang word “splitted.”
@@oldcoders лучше писать split. А там уж хз, я не филолог.
К зрителям - обращайте внимание на подcветку от IDE. Она крайне полезна.
В работе чуваки часто пропускают букву в названии переменной/класса/функции, или путают их местами. Потом хрен найдешь.
Pycharm/Webstorm - это все видит и позволяет быстро отрефакторить.
а че ты в шапке?
Здесь ответил на твой вопрос :
Как я снимаю свои видео. Как пишу сценарий, снимаю на iPhone, использую телесуфлер и другие секреты.
ua-cam.com/video/lZRssotg6Q0/v-deo.html
За это платят деньги? 😳
От 2 до 5 тыщ р!
Regex
Отличное видео но, конечно, до твоего 5 часового не дотягивает, там в середине было мясо 🥩. Спасибо!
😆 10-часовое !
@@oldcoders Сорян, я только 5 часов информации пока выучил, дальше теряю сознание от потока информации. Но постоянно возвращаюсь к просмотру, думаю скоро всё смогу запомнить, бесценная инфа!
🤣🤣🤣🤣🤣
@@oldcoders а если серьезно, благодаря тебе, во многом, не опускаю руки. Если будешь в Анталии, буду рад познакомиться лично!
Спасибо! Буду иметь в виду !
со скольки лет программистов в деды переводят?
Наоборот. Живут обычные деды и вдруг бац - хотят стать программистами.
@@oldcoders если я в 44 хочу стать программистом? я дед или еще нет?)
Дед 😀
На vba делается за пару часов😂😂😂
Кто какой язык знает, тот на нем и делает, да.
Это все можно было легко сделать в самом екселе и без всяких питонов
У нас канал изучающих питон ☝️
Видимо время парсинга вообще не важно.. да тут и сшелла хватило бы.. зачем тут чтото другое?
Переведите на русский пожалуйста 😀
@@oldcoders
Написано то, что задаче решается средствами Shell. Ну не в 3 строки а примерно в 15-20.
Вопрос зачем городить огород из питона?
Надеюсь сейчас понятною Хотя что было непонятно ранее, непонятно уже мне. Ну да ладно. Бывает.
А если надо быстро, то надо на Си это строк примерно 30... Но вам по задаче этого не надо.
Средствами shell не умею, за сим горожу огород из питона
@@oldcoders То же ответ...
Но вы понимете надеюсь на абсурдность ситуации?
Нет 😀 Тысячи программистов решают задачи парсинга файлов при помощи Питона и не считают ситуацию абсурдной 😀
Пестон сакс! Если тыт дед, то ты очень глупый дед, если его используешь!
Сам дурак
Здравствуйте можите ключ сломать? Я вам программу подгоню! Вы мне взлом! 😊 есть тот кто доработал её! Только вот не люди а крысы пошли! Им совет они фуфло😮 есть телеграмм?
Не, взломами не занимаюсь
Почему все компутерные диды стесняются плеши носят нелепые кепки в помещении? Это выглядит как Бушеми в школе.
Я рассказывал в своем видео «Как я снимаю видео»
где библиотеки брать, в какой форме и где располагать, чтобы phyton эту библиотеку увидел при выполнении pip?
pip сам скачивает из интернете откуда надо и устанавливает вам в ваше текущее виртуальное окружение
Советую воспользоваться именованными группами в regex:
string = 'ASK = 123456'
match = re.search(r'(?P\w+)\s*[:=]?\s*(?P\d+)', string)
print({"name": match["name"], "value": match["value"]})
# выведет словарь {'name': 'ASK', 'value': '123456'}
Спасибо!! Я не люблю регулярки, ужас:)
@@oldcoders Это нормально, их трудно любить. Зато они часто полезны. Спасибо за видео! Узнаю от вас много нового
Не понимаю как человек, знающий регулярные выражения может говорить что узнает от меня много нового?! 😆 Это я вот от вас узнаю про именованные группы 😀
@@oldcoders просто вы ими не пользуетесь -> ибо надо разобраться -> поэтому не пользуюсь -> надо время чтобы разобраться -> закину вопрос гуглу --- и так без конца. Как и всё остальное, разобраться с регулярками требует некоторого времени, но, разобравшись, обретаешь суперсилу :D даже в примитивных обиходных вопросах! Рекомендую.
Именованные группы сильно замусоривают сам регэксп - никогда их не использую.