/
azazzello85
/
python_learning
Обзор
Документация
Войти
/
azazzello85
/
python_learning
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
DZ_5.py
41 строка
2 KB
azazzello85
dz 5
11 фев 2025, 18:05
11 фев 2025, 18:05
3e4103a
Код
Авторство
О чём код?
''' Домашнее задание Переведите содержимое файла purchase_log.txt* в словарь purchases вида: {‘1840e0b9d4’: ‘Продукты’, …} Для каждого user_id в файле visit_log.csv определите третий столбец с категорией покупки, если покупка была, сам файл visit_log.csv* изменять не надо. Запишите в файл funnel.csv визиты из файла visit_log.csv*, в которых были покупки с указанием категории. Учтите условия на данные: содержимое purchase_log.txt* помещается в оперативную память компьютера; содержимое visit_log.csv* — нет; используйте только построчную обработку этого файла. *Все файлы, необходимые для выполнения домашнего задания, находятся в разделе “Дополнительные материалы к домашнему заданию” (нужно скачать архив). ''' #Задание 1 with open(r'C:\Users\azazz\OneDrive\Рабочий стол\ДЗ по питону\purchase_log.txt', encoding='Utf-8') as purch: list_upload = purch.readlines() import json purchases = {} for i, line in enumerate(list_upload[1:]): purchases[json.loads(line)['user_id']] = json.loads(line)['category'] #Задание 2 with open(r'C:\Users\azazz\OneDrive\Рабочий стол\ДЗ по питону\visit_log.csv', encoding='Utf-8') as visits: with open(r'C:\Users\azazz\OneDrive\Рабочий стол\ДЗ по питону\funnel.csv', 'w' ,encoding='cp1251') as intl_funnel: with open(r'C:\Users\azazz\OneDrive\Рабочий стол\ДЗ по питону\funnel.csv', 'a' ,encoding='cp1251') as funnel: funnel.write('user_id,source,category\n') user_id = '' next_str = '' for i, line in enumerate(visits): user_id = line.strip().split(',')[0] if user_id in purchases: next_str = str(line.strip()) + ',' + purchases[user_id] + '\n' funnel.write(next_str) #if i >= 100: #break