
Конвертация форматов файлов в Python: разбор на живом проекте
Скрипт конвертировал 40 тысяч CSV в Parquet и упал на файле, где в числовом столбце попалась строка «н/д». Разбираем, где ломается наивная конвертация и как её чинить.

Скрипт конвертировал 40 тысяч CSV в Parquet и упал на файле, где в числовом столбце попалась строка «н/д». Разбираем, где ломается наивная конвертация и как её чинить.

Разбираемся, какие библиотеки ставить для конвертации CSV, JSON, Excel и изображений, чем отличается кодировка от формата и почему первый же файл на кириллице ломает вывод.

Как хранить пароли в Python-приложении, чтобы утечка базы не превратилась в утечку паролей. Разбираем bcrypt, Argon2 и почему hashlib с солью — не то, что вам нужно.

За полчаса вы научитесь правильно хешировать пароли в Python через bcrypt или Argon2 и перестанете хранить их в открытом виде или под MD5. Разберём типичные ошибки, на которых горят новички.

За полчаса вы настроите правильное хеширование паролей на bcrypt и Argon2 в Python 3.12, проверите совпадение при входе и увидите, почему хранить пароли в открытом виде или на MD5 — брак.

За полчаса вы научитесь находить и удалять повторяющиеся строки в CSV-файле с помощью pandas: от полных дубликатов до совпадений по одному столбцу.

Как найти повторы в списках, строках CSV и таблицах pandas за несколько строк кода. Готовые фрагменты, которые можно скопировать и запустить прямо сейчас.

Дубликаты в датасете портят агрегаты и раздувают базу. Разбираем, чем set отличается от pandas.duplicated, как ловить нечёткие совпадения и где каждый подход ломается на реальных данных.

Наивное сравнение двух логов построчно загрузило память до 4 ГБ на файле в 800 МБ. Разбираем, почему difflib и чтение целиком ломаются на больших данных и чем их заменить.

difflib, filecmp, hashlib и слияние данных — какой инструмент решает вашу задачу, где каждый ломается и чем платите за выбор в реальном проекте.

Три задачи — «одинаковы ли два файла», «что изменилось построчно» и «найди дубликаты в тысяче файлов» — решаются разными инструментами. Разбираем, что выбрать и чем платишь за каждый вариант.

Как отсортировать список словарей сразу по нескольким полям и не наступить на грабли с обратным порядком, None и смешанными типами. Разбор на рабочих примерах для Python 3.x.