Пишу реальную программу. Парсинг текстового файла. Python + Pandas + Excel.

  Переглядів 54,381

Клуб дедов-программистов

Клуб дедов-программистов

День тому

Запишитесь на бесплатную консультацию курса "Английский для разработчиков" от Яндекс Практикума: clck.ru/347Eyg
Пишу реальную программу на языке Python и подробно объясняю каждый шаг. С картинками и стрелочками.
Задача взята с фриланс-биржи. Нужно разобрать текстовый лог-файл криптобота и записать результаты в таблицу Excel.
Применяю строковые методы питона, программистскую смекалку, фото котиков, а так же супер библиотеку pandas, которую хорошо бы знать каждому разработчику! 🐼🙌
⭐️ Мой подробный "Роадмап деда-программиста. Python бэкенд." со скидкой 20% : stepik.org/a/133721/pay?promo...
(Срок действия ссылки - до 15.05.24)
👨‍💻 Чат Дедов-программистов в телеграме: 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

КОМЕНТАРІ: 226
@EugeneErokhin
@EugeneErokhin Рік тому
мне понравился такой формат. Интересно наблюдать за вашим ходом мысли. Побольше бы таких видео!))
@weyni
@weyni Рік тому
Очень крутой и интересный формат, самому хоть и 16, но очень замотивировал, как никак другой, делать заказы интересными способами для себя способами! Спасибо тебе, подписка и лайк ✅👍
@user-sl3qw9ef7z
@user-sl3qw9ef7z Рік тому
Здравствуйте! Как всегда шикарное видео!!!
@asg5511
@asg5511 Рік тому
Отличное видео! Надо побольше таких и вообще побольше роликов про Python))
@Dryagin_Andry
@Dryagin_Andry Рік тому
Классное видео, очень интересно было посмотреть решение реальной задачи!👍
@user-zb8ho4on2g
@user-zb8ho4on2g Рік тому
Видео хорошее для новичков даже что-то понятно!! Первое видео за двухнедельный отпуск (от "супер" школы СКИЛЛФЕКТОРИ, которую не советую), которое посмотрел без зевания и с интересом! Спасибо!
@Vladimir_F609
@Vladimir_F609 Рік тому
Приветствую! Спасибо за видео!!! 👍
@makswer
@makswer Рік тому
Очень интересно рассказываешь! все понятно, хотя я только только начинаю с python знакомство. Формат видео заходит отлично. Спасибо за работу!
@user-qv7ri5fg2d
@user-qv7ri5fg2d Рік тому
Огромное спасибо! Отличное видео! Подписался везде, лайк поставил, код посмотрю, спасибо огромное за свободный доступ к коду 🙏🙏🙏, очень жду еще видео и советы для начинающих, какие книги и что учить
@oldcoders
@oldcoders Рік тому
Спасибо!! Вот это мое видео смотрели? - С чего начать изучать программирование? ukposts.info/have/v-deo/l4CXhaybe6eQw40.html
@andredru4278
@andredru4278 Рік тому
Спасибо. Посмотрел с удовольствием.
@siralex8331
@siralex8331 Рік тому
спасибо за видео, посмотрим )
@LackyBird
@LackyBird Рік тому
Отличное видео, смотрится на одном дыхании... и мотивирует написать что либо похожее.
@secretadmirateur5979
@secretadmirateur5979 Рік тому
Отличное видео получилось!
@Denis_Stepanov
@Denis_Stepanov 11 місяців тому
Я только только начал изучать Python (чисто для саморазвития - интересно стало). Много в видео ещё нового и не понятного, но зато я наглядно увидел, для чего изучаю сейчас все эти функции, словари и списки ))))) А то не люблю изучать что то, но не понимая для чего я это делаю ))))) Спасибо за видео ))
@oldcoders
@oldcoders 11 місяців тому
👍 вот именно для этого я и старался! 🙌
@user-ul4se4ct7d
@user-ul4se4ct7d 2 місяці тому
спасибо за информацию и эмоции очень интересный контент
@evgenyjagushinsky6695
@evgenyjagushinsky6695 Рік тому
Отличная подача материала
@AlexCoder007
@AlexCoder007 7 місяців тому
Все сделал четко !
@user-ve7tx3ud6n
@user-ve7tx3ud6n 11 місяців тому
Спасибо за интересное видео.
@po100lit7
@po100lit7 8 місяців тому
превосходно! видел этот заказ, но поленился взять его, как раз из-за бардака в исходных данных =)
@vladimirserg1641
@vladimirserg1641 4 місяці тому
Видео супер жаль коротковато и это не шутка. Реально норм объяснил. Прошу не останавливаться запиши еще подобные видео благодаря тубе я в свои 45 начал учиться увидел интерес в жизни. Спасибо тебе большое. Ты просто красавчик. ❤
@oldcoders
@oldcoders 4 місяці тому
Спасибо :) Буду. Пока роадмапом занимался - может быть вам полезным stepik.org/a/133721
@alxmark6086
@alxmark6086 3 місяці тому
Спасибо!
@blackbigdeath
@blackbigdeath Рік тому
Типовая задача для regex. Спасибо за видео.
@rematender4269
@rematender4269 Рік тому
Отличное видео, спасибо! Удивляюсь на некоторых комментаторов, которые критикуют автора. Автор сразу предупреждает, что видео в бОльшей степени мотивирующее, чем обучающее. Обидно, что отдельные граждане не умеют ценить ни чужих усилий, ни чужих намерений.
@oldcoders
@oldcoders Рік тому
Не, у меня все комментарии в основном суперские! Но спасибо за поддержку 😀🤝
@47clere
@47clere Рік тому
Тот самый момент когда первое видео на этом канале казалось сложным и непонятным, а теперь решение кажется простым и примитивным)) Значит время не было потрачено зря))
@R0bertAkopyan
@R0bertAkopyan 11 місяців тому
Спасибо, нашел для себя несколько интересных моментов, почему мне не приходило в голову использовать replace в таких же случаях.
@oldcoders
@oldcoders 11 місяців тому
Я сам не сразу додумался!
@azh7680
@azh7680 11 місяців тому
Спасибо. Классно получилось. Так все просто у Вас. Прям учиться захотелось. Объясняете понятно. Может уже курсы по пайтон откроете?
@oldcoders
@oldcoders 11 місяців тому
Я пишу сейчас не курс, а роадмап Python веб-разработчика. Объясняю подробно что и зачем учить и даю ссылки на бесплатные ресурсы по которым учился я, или которые я узнал позже и они мне нравятся
@mir-kirpicha
@mir-kirpicha 8 місяців тому
@@oldcoders Добрый день. Когда планируется выпуск данного сборника?
@oldcoders
@oldcoders 8 місяців тому
Надо собраться с силами и закончить его. Надеюсь в сентябре сделаю это.
@Tosha.V
@Tosha.V Рік тому
Юморить ещё успевает)
@noname52rus
@noname52rus Рік тому
nice, thank you!
@nohtyp_gniyduts838
@nohtyp_gniyduts838 Рік тому
Я слушал видео, а не смотрел. но первое что пришло в голову, что надо подумать об использовании регулярных выражений. ну и сильнее дробить на небольшие функции данный код.
@oldcoders
@oldcoders Рік тому
Да, регулярки пригодились бы, но я в них так не хочу разбираться :)
@budu_kpatok
@budu_kpatok Рік тому
Да, хорошо дробить на функции и добавлять конструкцию: if __name__ == "__main__" . Код без отступов не очень хорошая практика
@user-hs6lj9zt4p
@user-hs6lj9zt4p Рік тому
Руслан, спасибо за новое видео, интересно: - 10:53 при изучении Пайтона, вам ментор сказал, что существует метод to_string , непонятно где можно это было узнать? - если я скачаю у Вас лог файл задание и буду тупо повторять за вами, как думаете это поможет в изучении языка?
@oldcoders
@oldcoders Рік тому
Привет! Ментора не было у меня. Всякие такие to_string узнаются когда возишься много дней со своей программой и много гуглишь. Документацию по пандас бесполезно читать, там тысяча методов, надо конкретный вопрос гуглить. Возникла в вашей программе потребность - и пишешь в гугл типа «pandas how to print whole dataframe». И так для каждой мелкой задачи по ходу написания вашей программы. Скачать лог файл и просто повторять - мне кажется бесполезно почти. Вам надо поставить себе реальную задачу, чем то похожую на мою , хотя бы отдалено. Какой то файл в экселе вам может нужно обработать? И пишите свою программу и возможно какой то элемент из моего видео пригодится.
@user-hs6lj9zt4p
@user-hs6lj9zt4p Рік тому
@@oldcoders Руслан, спасибо!
@-tommy.
@-tommy. Рік тому
За котика лайк!
@MBW2010
@MBW2010 Рік тому
Спасибо Вам за видео работы в excel. Вы приподносите информацию очень доступно, без претензии на уникальность подхода - это подкупляет. Как оказывается "просто" на Python получить доступ к excel, а то раньше на Си приходилось работать с OLE-, а то и COM-интерфейсами - удивительно, как все становится очевидным с Python, особенно в Вашем изложении ... как все же в Python, будучи интерпретатором, распространять приложение на другие компьютеры с той же операционной системой (Windows) без экзешника (*. exe) 🤔?
@oldcoders
@oldcoders Рік тому
Ну 3 варианта: 1) компилировать экзешник. 2) учить как запускать вашу программу на других компах при помощи Python (устанавливать сам питон и модули) 3) писать веб-приложение и выкладывать в интернет. но этому долго придется учиться
@daitedve1984
@daitedve1984 Рік тому
Икселя с момента появления *.xlsx уже являлась практически читабельным XML, так что никакие OLE не нужны.
@egorvasilev2225
@egorvasilev2225 Рік тому
Да не нужно никакого доступа в Excel, создаешь файл в формате CSV формате и все, проще некуда, Excel без проблем открывает такие файлы.
@the_huge_knight
@the_huge_knight Рік тому
В template вместо списка кортежей я бы использовал dict. Хотя во время написания кода умные мысли всегда медленнее программиста. Компилится - и ладно ✅
@nikprilutskiy7064
@nikprilutskiy7064 Рік тому
Согласен, словарь тут прямо напрашивается. Проще с ним оперировать для такой задачи.
@Uni-Coder
@Uni-Coder Рік тому
"Питон" и "компилится" - плохо совместимые понятия
@AwakenDrow
@AwakenDrow 11 місяців тому
@@Uni-Coder Отлично совместимые. Cpython есть как стандарт компилированного пайтона. В крайнем случае такие проекты можно в екзешник запихнуть через тот же py-installer
@Uni-Coder
@Uni-Coder 11 місяців тому
@@AwakenDrow Совместимые, но не могу сказать, что отлично. Компилируются обычно статически типизированные языки. py-installer же просто запаковывает интерпретатор питона и все зависимости в самораспаковывающийся архив, насколько я знаю. То есть этот "экзешник" просто распаковывает интерпретатор и дальше идёт всё та же интерпретация. Делал я такое, и не раз. Размер "экзешника" получается гигантский. "Компиляция" - это всё-таки про C, C++, Rust и Pascal; для остальных это не очень типично.
@user-ul4se4ct7d
@user-ul4se4ct7d Рік тому
спасибо
@schmoopiegrob8758
@schmoopiegrob8758 Рік тому
Так и выглядят в основном задачи на фрилансе, реалии работы с данными, это и есть программирование)
@kapkaev
@kapkaev Рік тому
Хорошее видео, спасибо ! new_line replace можно было следать .replace(':', ' ').replace('.', ' ') насколько я помню они работают последовательно
@oldcoders
@oldcoders Рік тому
Скорее всего да! Но хотел пошагово, чтоб попонятнее.
@nataliepodgainova6582
@nataliepodgainova6582 Рік тому
Можно было и split(":")
@airjt
@airjt 11 місяців тому
Расскажу про свой опыт программирования, парсинга и API... Вчера получил задание от начальства проанализировать онлайн кабинет мобильного оператора с тысячью записей в каждой записи есть свои подключенные функции, плюс есть файл который содержит информацию о том что нужно еще подключить по каждому номеру. Не имея опыта в программировании, с помощью CHATGPT написал парсинг на Python за час... но есть одно но. Чтоб это делать как минимум нужно понимать что тебе надо и как это нужно реализовать... и это ты должен описать самому чату. Как минимум спасибо что делитесь с нами алгортимами решений задач.
@ypohut1673
@ypohut1673 3 місяці тому
Платная версия gpt4?
@airjt
@airjt 3 місяці тому
​@@ypohut1673 нет... обошелся бесплатным
@user-ee7xd1hi6u
@user-ee7xd1hi6u Рік тому
Круто
@nonna45
@nonna45 Рік тому
К вопросу как бы сделали мы: если уже подключили и используем pandas, тогда циклы уже не используем вообще. Вывод наименований в список тоже можно было написать с функциями из pandas. Соответственно код программы кратно уменьшается.
@n0rmaLman
@n0rmaLman 9 днів тому
В pandas есть фильтрация, она применяется сразу ко всему датафрейму (строке, колонке) поэтому циклы ему не нужны. Также, в pandas есть все строковые методы и поддержка регулярок. Думаю, фанаты pandas распарсили бы этот лог файл и сохранили в эксель однострочным выражением. 😊 В этом фишка pandas, он умеет делать невероятные вещи в несколько строк кода.
@UC1C0GDMTjasAdhELHZ6lZNg
@UC1C0GDMTjasAdhELHZ6lZNg 7 місяців тому
в питон метод replace регулярное выражение не может принимать? чтобы сразу заменить все ненужные спецсимвол на пробелы
@oldcoders
@oldcoders 7 місяців тому
Регулярными выражениями было бы проще все сделать, да. Но я в них не умею.
@travaler5235
@travaler5235 Рік тому
Отличное видео, спасибо, узнал новое для себя. Может быть я упустил эту часть, но возник вопрос: вот у вас в итоге написан готовый код в пайчарме, он работает как нужно и всё хорошо, но как его в итоге будет использовать условный заказчик с фриланс биржи? Докер с контейнерами или есть какая то функция пайчарма, позволяющая как то упаковать и упростить запуск для заказчика или что то другое?
@oldcoders
@oldcoders Рік тому
Да. Тут неудобно конечно получается. Три варианта : 1) скомпилировать мою программу в исполняемый exe файл (обычно так с питоном не делают) 2) отдать мой скрипт, научить как устанавливать IDE и все нужные библиотеки и запускать программу (ужас, непосвященному человеку будет страшно) 3) оформить программу в виде веб-приложения (но это надо быть веб-разработчиком и еще надо иметь сервер и выкладывать на него)
@rematender4269
@rematender4269 Рік тому
@@oldcoders К пункту 3. Есть удобная бесплатная программка "openserver". Она как раз предназначена для того, чтобы запускать "сервер" у себя на компьютере. Сам недавно стал пользоваться для запуска самодельных "сайтов", которые состоят из страниц html, js, php.
@rematender4269
@rematender4269 Рік тому
@@oldcoders К пункту 1. Можно делать запускаемые файлы прямо в самом Питоне или через Терминал. Для этого предназначена библиотека "pyinstaller".
@oldcoders
@oldcoders Рік тому
По пункту 3 - ngrok еще. Единственное - придется держать свой компьютер всегда включенным, не лучшее решение. Все таки правильней делать традиционный деплой на сервер.
@nik01aich
@nik01aich Рік тому
Видео совсем не скучное, а даже интересное, а разделитель можно в самом экселе поменять)
@emigrate89
@emigrate89 Рік тому
Могу предложить идею для следующего видео. Сделать небольшую crm для заведения заявок с джанго и базами данных. + приправить динамическими страницами
@oldcoders
@oldcoders Рік тому
Я хотел сделать видео с полноценным Джанго проектом, но это была бы гигантская работа и минимум просмотров. Очень много надо объяснять, все это растянется на штук 10 видео. Чтобы было понятно и интересно - надо почти месяц тратить на каждый ролик. А просмотров у роликов про Джанго очень мало, посмотрите мою третью часть - всего 7 000 просмотров. Вобщем неинтересно мне так тратить время, к сожалению.
@jamjam3337
@jamjam3337 Рік тому
👏👍
@ChopeZzz
@ChopeZzz Рік тому
Очень круто, спасибо за видео. 🤓👍 У меня одна мысль возникла - а нельзя ли эту работу сделать используя Power Query? Там тоже можно фильтровать, разделять строки по символам и т.д.
@oldcoders
@oldcoders Рік тому
Наверное можно! Обработку данных много где можно делать.
@n0rmaLman
@n0rmaLman 9 днів тому
В power query можно все, потому, что в него встроен язык "М". Как начал пользоваться power query VBA практически перестал использовать. 😊
@ppr8117
@ppr8117 Рік тому
В современных версиях Excel, начиная с 2016 эта, вполне себе тривиальная задача, решается с помощью встроенных инструментов- Power Query. Я бы прикрутил ко всей этой истории макрос VBA. Но задачка интересная!
@oldcoders
@oldcoders Рік тому
Если бы мой канал был про VBA и Power Query - я бы обязательно решил задачу при помощи них.
@user-eh1dh5kp6m
@user-eh1dh5kp6m Рік тому
Я бы написал макрос на VBA в самом Excel.
@ailabinsev
@ailabinsev 11 місяців тому
Спасибо, вдохновило. Пойду попрошу друга, пусть разместит заказ на бирже, сделаю за пиво.
@oldcoders
@oldcoders 11 місяців тому
😁👍 отличный план
@014sova014
@014sova014 Рік тому
Руслан, изучай регулярки...с ними задачи по парсингу текста решаются намного легче. Да и аргумент regex=True сразу станет понятным:)
@oldcoders
@oldcoders Рік тому
Да да, регулярками было бы меньше кода и быстрее, но блин не могу я 😁 не лежит душа :)))
@014sova014
@014sova014 Рік тому
@@oldcoders да там ничего сложного...надо просто изучить базовые правила и этого уже будет достаточно. посоветую книгу Джеффри Фридла "Регулярные выражения.3-е издание", очень подробно расписано и легко читается
@vater122
@vater122 Рік тому
@@oldcoders На Степике есть вполне хороший курс, который я прошёл - "Регулярные выражения в Python". Можно уделить несколько дней и навсегда закрыть эту проблему.
@tigr4
@tigr4 Рік тому
@@oldcoders Не лежит душа - это потому что они при Первом взгляде кажутся страшными. Но стоит научиться использовать хотя бы их базовые возможности - и они становятся родными.
@Uni-Coder
@Uni-Coder Рік тому
@@tigr4 Вещь очень сильная, но в отдельных случаях возникают большие вопросы к быстродействию. Движку regex надо построить автомат, это занимает время, да и на исполнение автомата требуется время. Но в 99% регексы - имба.
@hitomiuwu4837
@hitomiuwu4837 Рік тому
😇
@AlexandrSpirit
@AlexandrSpirit Рік тому
Судя по видео и сообщениям в консоли, пандас использует regex. Почему вы не использовали regex для поиска и замены? Как-то сталкивался с задачей парсинга пяти разных прайсов (экселек) от пяти разных поставщиком в csv для залива на е-коммерс. Основная боль - привести все данные к общему виду, после которого парсинг - самое простое ) Пробовал использовать пандас для чтения xls, но в итоге использовал xlrd У меня в эксельках были именованные поля, которые нельзя было считывать через адрес D4, только по названию. 2-4т за вечер. Почему бы и нет? Если докстринги написать, покрыть тестами, asyncio использовать, то можно код к резюме прикладывать.
@oldcoders
@oldcoders Рік тому
Регулярные выражения я так и не освоил. Поэтому не использую :) Для резюме очень слабенький проект имхо.
@AlexandrSpirit
@AlexandrSpirit Рік тому
@@oldcoders Слабый, возможно. Но покажет стиль. Самому регулярка тяжело даётся. Приходится себя заставлять. Но она быстрая и прям создана для работы со строками. Как xpath для xml
@alxkir
@alxkir Рік тому
re>>CSV(delimiter=tab)
@oldcoders
@oldcoders Рік тому
Это что, куда ?
@alxkir
@alxkir Рік тому
@@oldcoders для разбора текстовых данных удобно использовать регулярные выражения; вместо формата xls используйте формат csv(открывается excel), в качестве разделителя используйте таб или ";" сам csv можете создавать как просто текстовый файл так и с помощью встроенной библиотеки - сможете легко создавать файлы вплоть до млн строк (excel больше не откроет)
@oldcoders
@oldcoders Рік тому
А! Да, спасибо! Я использую csv вовсю, (разделители запятые :) ), так как интернет магазин все в Csv экспорт-импорт. Ну задача у заказчика стояла именно текстовый файл разобрать и в xlsx записать, тут я не могу повлиять.
@user-ij8pd3lz5r
@user-ij8pd3lz5r Рік тому
Разделитель не в excel задается, а в региональных настройках.
@DomNaPechi
@DomNaPechi Рік тому
Приветствую. Я так понимаю, что взять из открытого файла эксель данные, не сохраняя предварительно. не получится? Поясню: в экселе использую макросы, для выборки нужных данных в двух разных файлах, потом из них, открытых и уже после работы макросов, открываю третий, где арифметическими формулами происходит подсчёт (посещение людей по отделамм). Эксель отрабатывает только когда открыты первые два файла, собственно по этому и возник вопрос, может ли пайтон/питон брать данные из открытых файлов. Или питон может вместо макросов произвести всю выборку/фильтры в экселевских файлах, типа как в вашем видео?
@oldcoders
@oldcoders Рік тому
Питон открытые и несохраненные файлы обработать не сможет. Но он точно сможет сделать любые ваши подсчеты и фильтры вместо макросов, с любыми сохраненными файлами.
@oldcoders
@oldcoders Рік тому
Еще вот это мое видео посмотрите , я там эксель файл открываю и обрабатываю ukposts.info/have/v-deo/nXWTnW2um5B_t2g.html
@nataliepodgainova6582
@nataliepodgainova6582 Рік тому
Pandas все это делает легко. Чтобы посмотреть данные, можно использовать jupyter. Так можно делать и графики и выборки и все что угодно.
@user-cu1ij7lk1c
@user-cu1ij7lk1c Рік тому
Программист это тот кто тратит 1 час на задачу которую он бы решал 1 минуту, чтобы в будущем тратить 1 секунду на ее выполнение не только ему. Интересные задачи найдутся, важно их не пропускать :3 И как писали ниже re помогло бы в решении, полезная штука на самом деле
@khnykaq8823
@khnykaq8823 10 місяців тому
Уж не знаю по поводу "от двух до пяти тысяч рублей". Мне кажется, на забугорных биржах индусы могут за такое взяться и "до двух тысяч". Правда, есть шанс, что можно получить программу такого же качества, как и та, которая создавала этот лог-файл
@MrBondarrr
@MrBondarrr Рік тому
Е мое)) И нас простых архитекторов заставляют учить программирование, такова жизнь))
@kashapovin
@kashapovin Рік тому
Супер. Каким софтом пользуешься для записи роликов?
@oldcoders
@oldcoders Рік тому
У меня есть видео как я снимаю свои ролики : ukposts.info/have/v-deo/pIqDp6mmq51nsmQ.html Монтирую на Final Cut
@kashapovin
@kashapovin Рік тому
@@oldcoders какой софт для записи экрана и себя?
@TheReiter4
@TheReiter4 Рік тому
Хм, перебирать датафрейм pandas в цикле - не очень хорошая идея. Если и дальше будете работать с табличными данными - советую поизучать эту библиотеку. За видео - спасибо.
@oldcoders
@oldcoders Рік тому
Подскажите как правильно? Я в цикле текстовый файл читал, а датафрейм в цикле не перебирал все таки.
@JustForLools
@JustForLools Рік тому
@@oldcoders Где-то на стаке или в документации читал, что заполнять датафрейм данными - не рекомендуемая практика по причине низкой производительности такого подхода. Но думаю, что для выходного файла с четырьмя строчками это не критично:) А вообще рекомендуется создавать и заполнять сперва словарь списков python, а уже потом его превращать в датафрейм. Это якобы более производительное решение (сам не проверял:). В целом видео понравилось более чем, но для полноты и честности не хватает элементов гугления тех или иных функций сторонних библиотек. Новички могут не понять, откуда берутся знания о них и создается превратное ощущение, что автор просто на зубок выучил документацию к библиотекам:)
@oldcoders
@oldcoders Рік тому
Вас понял, надо почитать про заполнение датафрейма данными, спасибо. Гугление - я вовсю показывал во всех предыдущих видео, про codewars например, в этом видео уж не стал, чтобы не растянуть на полчаса и чтобы видео не превратилось в хаос. Но вообще да, согласен, гугление - неотъемлемая часть процесса. Наверное лучше и его показывать.
@curvesofthehand
@curvesofthehand Рік тому
Добрый день! А как отдавали решение заказчику? Как-то упаковывали? Или как есть в виде кода, который нужно самостоятельно запустить?
@oldcoders
@oldcoders Рік тому
Заказчик умеет запускать Питон, поэтому отдал в виде кода.
@lll_mathcoding607
@lll_mathcoding607 8 місяців тому
@@oldcoders Спасибо за наглядный пример решения реальной задачи! У меня есть вопрос по удовлетворенности заказчика. Я внимательно прочел все комментарии, прежде чем выбрать, где оставить свой. Был ли удовлетворен заказчик решением своей задачи на питоне в сторонней среде или он все же хотел, чтобы макрос запускался внутри экселя? Переделывал ли он парсер впоследствии?
@sergey7106
@sergey7106 7 місяців тому
Программу для тестирования на базе вопросов xlsm) сложно для новичка написать ?
@oldcoders
@oldcoders 7 місяців тому
Не понял для тестирования чего, что значит на базе вопросов xlsm.
@sergey7106
@sergey7106 7 місяців тому
@@oldcoders есть файл xlsm. Там большое количество вопросов по разным темам и профессиям. Создать программу для тестирования проверки знаний ,с возможностью выбора вопросов из определенных тем из этой таблицы. То есть придется прописывать вопросы когда создаёшь файл программы или можно просто указать путь к таблице чтобы использовать эти вопросы?
@oldcoders
@oldcoders 7 місяців тому
@sergey7106 отличная задача. Нужно будет открыть файл, прочитать его, загрузить все вопросы в память (подумать как это сделать, какой тип данных применить, если есть варианты ответов - тоже подумать как их загрузить и как выделить правильный ответ). Затем подумать по какому принципу отбирать вопросы. Вобщем задача несложная если знать основы Python. Вперед! :)
@sergey7106
@sergey7106 7 місяців тому
@@oldcoders спасибо буду думать) главное автоматизировать как можно больше))лень двигатель прогресса
@nataliepodgainova6582
@nataliepodgainova6582 Рік тому
А если в файле поменяются названия столбцов? Или нужно будет местами их менять?
@oldcoders
@oldcoders Рік тому
Если в лог файле что-то поменяется - да, руками придется подправлять код 🤷🏻‍♂️
@user-nq2mj6rz9q
@user-nq2mj6rz9q Рік тому
Хорошо поставленное ТЗ - это миф. Заказчик не разбирается в программировании (иначе он сам бы мог эту программу написать), а следовательно он принципиально не способен грамотно поставить ТЗ. Вот пример из ролика задача "заменить точки на запятые" правильно должна звучать так "присвоить столбцам с 5 по 47 тип float64". Поэтому программистам которые молятся на ТЗ и у которых главная отмазка "этого нет в ТЗ" надо ежедневно давать леща. Тем более что если для написания одной программы нет смысла писать универсальный обработчик, то для ежедневного написания программ для разных заказчиков написание универсального обработчика уже является необходимостью для самого программиста.
@oldcoders
@oldcoders Рік тому
Да, согласен, ТЗ написанное программистом для программиста практически не существует. Поэтому я и сказал что вот обычная эксель таблица, пример выходного файла - лучшее тз. Если бы ее не было - я бы дергал заказчика как минимум 47 раз, по количеству столбцов :)
@excel2550
@excel2550 11 місяців тому
Прикольно, что эта задача решается без программирования с помощью Power Query в Excel
@oldcoders
@oldcoders 11 місяців тому
Да, естественно. А так же она решается в других табличных процессорах и на любом другом языке программирования. И вручную решается 😀 Способов решения много. Я просто рассказываю про один из них.
@dinaberkovitch2253
@dinaberkovitch2253 9 місяців тому
power query замечательная вещь для обработки небольших таблиц .. иначе просто тормози т и зависает
@Roltun
@Roltun Рік тому
Я придумал проект!
@oldcoders
@oldcoders Рік тому
Так, какой?
@Roltun
@Roltun Рік тому
@@oldcoders Рассказывать не буду. Для тех кто учится ) сайт
@OLAFBONDD
@OLAFBONDD Рік тому
Не длинно и не скучно. Не все понял. Конечно, для шаблонов просятся словари, но там неупорядоченное хранение.
@sergeytopskiy59
@sergeytopskiy59 Рік тому
На мой взгляд можно было обойтись без pandas, ведь вы ничего не анализируете, графики не строите. Библиотека openpyxl нормально работает со словарями, просто составить словарь для каждой даты и экспортировать в excel.
@oldcoders
@oldcoders Рік тому
Можно было, согласен
@ko-prometheus
@ko-prometheus Рік тому
Привет. Как написать код на Python, программу, которая позволить банить определенные каналы на ЮуТубе??
@oldcoders
@oldcoders Рік тому
У UKposts есть API , можете изучить, возможно есть что-то
@mrpain2004
@mrpain2004 Рік тому
Привет, зачем заморочки с кортежем если есть словарь? например ищем name = 'вася', создаем словарь аля: name_dict = {маша: красавица, вася: рокер} пишем: if name in name_dict.key(name.lower) return name_dict[name] думаю в данном случае можно было создать файл словаря, в функции открыл файл проверил по ключу, вернул значение или False ... и не было бы в коде кучи строк кода...
@oldcoders
@oldcoders Рік тому
Можно было и словарь использовать, да. Но количество строчек кода особо не уменьшилось бы
@mrpain2004
@mrpain2004 Рік тому
@@oldcoders ммм, что значит не уменьшилось??? создаем в отдельном файле функцию, которая будет возвращать твой словарь, в мэйне ее импортируем и просто по данной функции ищем ключ-значение... в мэйне у тебя будет красиво ;) но это субъективное мнение такого же 40+ деда ;)
@oldcoders
@oldcoders Рік тому
Ну распихать код по модулям это не значит уменьшить количество кода :)
@mrpain2004
@mrpain2004 Рік тому
@@oldcoders ну вообще как бы пихать всё в один файл вообще признак плохого вкуса ;)
@oldcoders
@oldcoders Рік тому
Если бы это был большой проект - то конечно. В моем случае нужно отдавать файл человеку который совсем чуток дружит с питоном. Поэтому лучше чтоб все в одном файле.
@alcgmr
@alcgmr Рік тому
где вставка с обизяной!?
@oldcoders
@oldcoders Рік тому
Она не в каждом видео :) Для тех кто скучает по обезьяне есть видео - ukposts.info/have/v-deo/n350paRqjZB814E.html 😀
@rematender4269
@rematender4269 Рік тому
@@oldcoders Давно не смотрел, спасибо за напоминание и ссылку! После трудового дня хочется на чём-нибудь интеллектуальном отдохнуть :)
@user-ub3ze8mw9z
@user-ub3ze8mw9z Рік тому
А что значит, что поведение пандоса изменится? Можно ли это предотвратить?
@oldcoders
@oldcoders Рік тому
Можно написать в примечаниях что «эта программа гарантированно будет работать с версией пандас 2.0.1, с последующими версиями работоспособность не гарантируется». Тогда заказчик, например через 3 года когда будет запускать программу , установит «старенькую» версию пандас , а не самую последнюю. Ну или я должен был другие использовать методы, по которым не вылезает предупреждение.
@JustForLools
@JustForLools Рік тому
1. Можно скомпилировать проект в exeшник и тогда ему уже никакие обновления pandas не страшны будут. 2. Использовать виртуальные среды, где прописаны все текущие версии библиотек и самого питона и отправлять все таким комплектом. 3. Изучить документацию pandas и найти альтернативную функцию, на которую они планируют перейти в ближайшем будущем.
@sergeykha8014
@sergeykha8014 9 місяців тому
или просто скомпилить со всеми библиотеками и не парится, есть у клиента питон или нет, есть там библиотеки или нет
@VB-dm6ps
@VB-dm6ps Рік тому
Дайте ссылку на фрилансе биржу
@oldcoders
@oldcoders Рік тому
fl.ru freelance.habr.com freelance.ru И тд
@melnikdaful
@melnikdaful Рік тому
А зачем для решения этой задачи применяется python? Это же типовая задача для power query, который штатно прилагается к MS Excel - там подобные трансформации данных даже не требуют написания кода, все решается готовыми шаблонами в визуальном интерфейсе. Не проверял конечно, но там такая задачка решается минут за 20-30...
@oldcoders
@oldcoders Рік тому
Я не владею power query, зато владею Python 🤷🏻‍♂️ И еще этот канал - для изучающих Python, поэтому мы тут все задачи решаем им 😁
@evgenyjagushinsky6695
@evgenyjagushinsky6695 Рік тому
Зачем - не катит такой вопрос! ЗатЕм! Знаешь power query - вперёд туда где его применяют и о нём базарят)
@melnikdaful
@melnikdaful Рік тому
Какие Вы, однако, ранимые. Пытаюсь понять для себя - есть ли смысл изучать Phyton или нет. С одной стороны вроде как выполнение кода на Python происходит заметно быстрее, чем на MS PowerQuery. С другой стороны судя по всему процесс программирования для типовых задач (типовых для PowerQuery) на Python занимает заметно больше времени. Хотелось понять границу в которой переход на Python имеет смысл? Или это просто хайп забивать микроскопом (Python) гвозди в MS Excel?
@oldcoders
@oldcoders Рік тому
Python это гораздо более универсальный инструмент. Экселевские задачи это только малая часть его возможностей. На питоне можно и игры писать и сайты и веб-приложения и сайты парсить, и телеграм-ботов писать и много чего еще. Так что имхо неправильно сравнивать Power Query и Python.
@dekor1981
@dekor1981 Рік тому
Моя текущая задача - поднять сарай на даче на 40 см от земли, а то врос уже (стал частью команды :))), смонтировать под ним свайный фундамент и поставить этот сарай на эти сваи. На каком языке лучше писать программу? Я вот по C# спец... но... думаю сложно будет на нем писать это...
@_garik__
@_garik__ Рік тому
на русском)) напиши грамотное ТЗ и найми фрилансеров))
@Roltun
@Roltun Рік тому
А у меня дача, под ним блоки фундамента наклонились. Что делать? Алгоритм?
@user-gu1vo9hm9x
@user-gu1vo9hm9x Рік тому
​@@Roltun дачу на домкрат. Блоки вынуть, подсыпать щебнем, вернуть обратно.
@Roltun
@Roltun Рік тому
@@user-gu1vo9hm9x ок
@romul23
@romul23 Рік тому
А почему template не словарем, а списком кортежей?
@oldcoders
@oldcoders Рік тому
Для разнообразия, я словарь использовал в прошлом видео и подробно о нем рассказывал. ukposts.info/have/v-deo/nXWTnW2um5B_t2g.html
@user-nf5kw6yj9d
@user-nf5kw6yj9d 9 місяців тому
Средний прогер с помощью ChatGPT такую прогу за пол часа сделает.. поэтому 2-5к под вопросом)
@user-nl7lu9yj6w
@user-nl7lu9yj6w Рік тому
Мужик видимо занимается теханализом крипты)
@oldcoders
@oldcoders Рік тому
Ага 😀
@Magic-oc1jk
@Magic-oc1jk Місяць тому
Есть Эксель. В нем есть vba. Питон тут собаке пятая нога
@oldcoders
@oldcoders Місяць тому
Задача стоит именно на питоне сделать
@serygr
@serygr Рік тому
Наоборот, все эти моменты не по правилам, показывают, что программирование подвластно каждому к изучению и что бы понять как всё работает можно делать как по кайфу, лишь бы работало, а потом уже всё улучшать и углублять в усложнение
@oldcoders
@oldcoders Рік тому
Да, я тоже считаю что все эти ошибки, неправильности и поиски ответов в интернете надо показывать. Чтобы не казалось что программисты это сверхлюди выучившие наизусть язык программирования и все библиотеки и фреймворки :))
@L0wPressure
@L0wPressure Рік тому
Реклама курса английского в видео, где автор пишет splitTED, хотя даже IDE подчеркивает, намекая что это неправильный глагол) split - split - split.
@oldcoders
@oldcoders Рік тому
О, не знал, прикольно. Ну я и не говорю что я круто по английски говорю 😀 Впрочем пишут splitted тоже и пользуется : “Split” is the best and most recommended word to use rather than the slang word “splitted.”
@L0wPressure
@L0wPressure Рік тому
​@@oldcoders лучше писать split. А там уж хз, я не филолог. К зрителям - обращайте внимание на подcветку от IDE. Она крайне полезна. В работе чуваки часто пропускают букву в названии переменной/класса/функции, или путают их местами. Потом хрен найдешь. Pycharm/Webstorm - это все видит и позволяет быстро отрефакторить.
@Artemon-yl5ze
@Artemon-yl5ze Рік тому
Почему не переписать логгер?
@oldcoders
@oldcoders Рік тому
Что вы имеете в виду? Создателю криптобота? Насколько я знаю он уже на нем разбогател и выпускает более важные обновления чем добавить пробелы в логгер 🤷🏻‍♂️
@DP-pt8zm
@DP-pt8zm Рік тому
Отличное видео но, конечно, до твоего 5 часового не дотягивает, там в середине было мясо 🥩. Спасибо!
@oldcoders
@oldcoders Рік тому
😆 10-часовое !
@DP-pt8zm
@DP-pt8zm Рік тому
@@oldcoders Сорян, я только 5 часов информации пока выучил, дальше теряю сознание от потока информации. Но постоянно возвращаюсь к просмотру, думаю скоро всё смогу запомнить, бесценная инфа!
@oldcoders
@oldcoders Рік тому
🤣🤣🤣🤣🤣
@DP-pt8zm
@DP-pt8zm Рік тому
@@oldcoders а если серьезно, благодаря тебе, во многом, не опускаю руки. Если будешь в Анталии, буду рад познакомиться лично!
@oldcoders
@oldcoders Рік тому
Спасибо! Буду иметь в виду !
@romul23
@romul23 Рік тому
Это сколько стоит? Рублей 500?
@oldcoders
@oldcoders Рік тому
А вот досмотрите до конца, там я об этом сказал 😀
@komdiv4906
@komdiv4906 Рік тому
Это все можно было легко сделать в самом екселе и без всяких питонов
@oldcoders
@oldcoders Рік тому
У нас канал изучающих питон ☝️
@RudolfAbel
@RudolfAbel 11 місяців тому
Regex
@sergeishamanov1597
@sergeishamanov1597 Рік тому
На vba делается за пару часов😂😂😂
@oldcoders
@oldcoders Рік тому
Кто какой язык знает, тот на нем и делает, да.
@NamPofigat
@NamPofigat 11 місяців тому
а че ты в шапке?
@oldcoders
@oldcoders 11 місяців тому
Здесь ответил на твой вопрос : Как я снимаю свои видео. Как пишу сценарий, снимаю на iPhone, использую телесуфлер и другие секреты. ukposts.info/have/v-deo/pIqDp6mmq51nsmQ.html
@AtridesMinsk
@AtridesMinsk Рік тому
А если вместо Pandas использовать Polars скорость обработки х10
@sokur
@sokur Рік тому
За это платят деньги? 😳
@oldcoders
@oldcoders Рік тому
От 2 до 5 тыщ р!
@artbek8697
@artbek8697 Рік тому
со скольки лет программистов в деды переводят?
@oldcoders
@oldcoders Рік тому
Наоборот. Живут обычные деды и вдруг бац - хотят стать программистами.
@artbek8697
@artbek8697 Рік тому
@@oldcoders если я в 44 хочу стать программистом? я дед или еще нет?)
@oldcoders
@oldcoders Рік тому
Дед 😀
@daitedve1984
@daitedve1984 Рік тому
Пестон сакс! Если тыт дед, то ты очень глупый дед, если его используешь!
@oldcoders
@oldcoders Рік тому
Сам дурак
@igorseledtsov7345
@igorseledtsov7345 Рік тому
Видимо время парсинга вообще не важно.. да тут и сшелла хватило бы.. зачем тут чтото другое?
@oldcoders
@oldcoders Рік тому
Переведите на русский пожалуйста 😀
@igorseledtsov7345
@igorseledtsov7345 Рік тому
@@oldcoders Написано то, что задаче решается средствами Shell. Ну не в 3 строки а примерно в 15-20. Вопрос зачем городить огород из питона? Надеюсь сейчас понятною Хотя что было непонятно ранее, непонятно уже мне. Ну да ладно. Бывает. А если надо быстро, то надо на Си это строк примерно 30... Но вам по задаче этого не надо.
@oldcoders
@oldcoders Рік тому
Средствами shell не умею, за сим горожу огород из питона
@igorseledtsov7345
@igorseledtsov7345 Рік тому
@@oldcoders То же ответ... Но вы понимете надеюсь на абсурдность ситуации?
@oldcoders
@oldcoders Рік тому
Нет 😀 Тысячи программистов решают задачи парсинга файлов при помощи Питона и не считают ситуацию абсурдной 😀
@Sibirskiy-Pathan38
@Sibirskiy-Pathan38 Рік тому
Здравствуйте можите ключ сломать? Я вам программу подгоню! Вы мне взлом! 😊 есть тот кто доработал её! Только вот не люди а крысы пошли! Им совет они фуфло😮 есть телеграмм?
@oldcoders
@oldcoders Рік тому
Не, взломами не занимаюсь
@brkfdd552
@brkfdd552 Рік тому
Почему все компутерные диды стесняются плеши носят нелепые кепки в помещении? Это выглядит как Бушеми в школе.
@oldcoders
@oldcoders Рік тому
Я рассказывал в своем видео «Как я снимаю видео»
@Old_Bell
@Old_Bell 7 місяців тому
где библиотеки брать, в какой форме и где располагать, чтобы phyton эту библиотеку увидел при выполнении pip?
@oldcoders
@oldcoders 7 місяців тому
pip сам скачивает из интернете откуда надо и устанавливает вам в ваше текущее виртуальное окружение
@andreykuznetsov7442
@andreykuznetsov7442 Рік тому
Советую воспользоваться именованными группами в 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 Рік тому
Спасибо!! Я не люблю регулярки, ужас:)
@andreykuznetsov7442
@andreykuznetsov7442 Рік тому
@@oldcoders Это нормально, их трудно любить. Зато они часто полезны. Спасибо за видео! Узнаю от вас много нового
@oldcoders
@oldcoders Рік тому
Не понимаю как человек, знающий регулярные выражения может говорить что узнает от меня много нового?! 😆 Это я вот от вас узнаю про именованные группы 😀
@user-ye6ow8gn5j
@user-ye6ow8gn5j Рік тому
@@oldcoders просто вы ими не пользуетесь -> ибо надо разобраться -> поэтому не пользуюсь -> надо время чтобы разобраться -> закину вопрос гуглу --- и так без конца. Как и всё остальное, разобраться с регулярками требует некоторого времени, но, разобравшись, обретаешь суперсилу :D даже в примитивных обиходных вопросах! Рекомендую.
@daitedve1984
@daitedve1984 Рік тому
Именованные группы сильно замусоривают сам регэксп - никогда их не использую.
@staskss4727
@staskss4727 Рік тому
Сам язык Pyton не имеет строгой типизации данных, по сути медленный интерпритатор, а не компилятор. Это протез для тех у кого задержки в развитии. Сейчас таких много .
@oldcoders
@oldcoders Рік тому
Python - язык для умственно отсталых людей? 😃
@rematender4269
@rematender4269 Рік тому
Stas KSS, Это ты Америку открыл, что Питон интерпретируемый язык, а не компилируемый. А ещё есть люди, у которых задержки в развитии - они лезут к тем, кто делом занимается, да ещё тратит своё время, чтобы сделать для нас интересное и полезное видео. Сейчас таких много.
@v-2schneider264
@v-2schneider264 Рік тому
А что это за биржа такая? Если там много таких задач, то я за месяц миллионером стану.
@oldcoders
@oldcoders Рік тому
Фриланс бирж полно. Эта fl.ru вроде. Попробуйте, напишите потом свои впечатления. Заказ не так просто получить, конкурентов много :)
Стать программистом в 40+? Мотивирующее видео.
18:12
Клуб дедов-программистов
Переглядів 76 тис.
Glow Stick Secret 😱 #shorts
00:37
Mr DegrEE
Переглядів 43 млн
Піхотинець - про рутину на фронті
00:46
Суспільне Новини
Переглядів 311 тис.
Эта Мама Испортила Гендер-Пати 😂
00:40
Глеб Рандалайнен
Переглядів 2,3 млн
Микросервисы - Простым Языком на Понятном Примере
19:08
Introducing Python in Excel 😱
19:01
Leila Gharani
Переглядів 1,4 млн
Великовозрастный программист. Стоит ли идти в IT в 40 лет
8:17
Дилетант широкого профиля
Переглядів 7 тис.
Как найти первую реальную задачу изучая программирование
16:11
Клуб дедов-программистов
Переглядів 37 тис.
Pandas для пользователей Excel
56:23
ITvladranepa
Переглядів 5 тис.
Парсим файл Excel с помощью Python
11:00
IT Generation
Переглядів 23 тис.
ЗАЧЕМ ТЕБЕ НУЖЕН ЛИНУКС ДОМА ?!
19:02
PLAFON - Канал о линуксе
Переглядів 535 тис.
Pandas Базовый №3. Отбор строк и столбцов, Размерность, Импорт CSV
18:27
Товарищ Excel - Power Query, Power Pivot, Python
Переглядів 7 тис.