Pizza city
Данные о продажах пиццерии 🍕
Как рекомендовано в разделе «Структура учебного проекта», создадим учебный проект для работы с данными о продажах пиццерии PizzaCity. В общей папке deproschool создадим подпапку pizzacity, в которой будут храниться все учебные материалы и данные по этому разделу.
Скачивание данных
Давай начнём с простого упражнения по чтению данных из csv-файла.
Скачай файл с данными о продажах пиццерии и сохрани его в папку deproschool/pizzacity.
Скачать pizzasales.csv
В итоге у тебя должна получиться такая структура папок:
В Visual Studio Code (или другом IDE) открой общую папку deproschool, т. е. открой проект.
В файле pizzasales.csv лежат такие простые игрушечные данные:
| Pizza | Number of sales |
|---|---|
| Pepperoni | 120 |
| Margherita | 80 |
| BBQ | 100 |
Прочитать данные из csv
Создай скрипт. Внутри pizzacity заведи файл read_csv.py.
В итоге у тебя должна получиться такая структура проекта:
Мы начнём с базового Python и стандартного модуля csv. Это простой скрипт, чтобы убедиться, что "есть контакт" с файлом и мы можем его прочитать. В файле read_csv.py напиши следующий код:
import csv
with open("pizzasales.csv", newline="", encoding="utf-8") as f:
reader = csv.DictReader(f)
for row in reader:
print(f"{row['Pizza']}: {row['Number of sales']} продаж")⚠️ На компьютере должен быть установлен Python 3.x и доступен в терминале командой python или python3.
Запусти код. В терминале выполни python read_csv.py (или python3 read_csv.py,
если в системе одновременно установлены Python 2 и 3).
Если всё сделано верно, увидишь список пицц и количество продаж.
Это хорошая проверка: путь к файлу указан правильно, код умеет читать данные строка за строкой.
Чем проще шаги, тем легче отлавливать ошибки.
Запомни, ты всегда должен осознавать все строки кода, которые запускаешь, нужно понимать, что и зачем ты делаешь. Не нужно слепо копировать код курса, анализуй его, задавайся вопросами, какая часть кода за что отвечает.
Если в терминале видишь такой вывод:
Pepperoni: 120 продаж
Margherita: 80 продаж
BBQ: 100 продажПоздравляю - теперь ты умеешь читать CSV!
Найдём самую популярную пиццу
Как читать файл знаем, теперь извлечём инсайт (ценное знание или вывод). Создай рядом новый скрипт top_pizza.py, который покажет самую продаваемую пиццу.
Должна получиться такая структура:
import csv
with open("pizzasales.csv", newline="", encoding="utf-8") as f:
reader = csv.DictReader(f)
top_item = max(reader, key=lambda row: int(row["Number of sales"]))
print(f"Хит продаж — {top_item['Pizza']} ({top_item['Number of sales']} продаж)")max с параметром key ищет строку с наибольшим числом продаж. Важно привести значение к int, иначе строки сравниваются лексикографически.
Если терминал выводит строку вида:
Хит продаж — Pepperoni (120 продаж)Поздравляю: теперь владелец пиццерии знает, какие ингредиенты закупать в первую очередь. Таким образом, ты помог бизнесу принимать решения на основе данных. Вот в чем состоит ценность работы дата инженера! Это игрушечный пример, но примерная логика работы с реальными данными такая же. Помогли бизнесу, получили денежку - все счастливы!