Нужно записать в файл user_id; категория, 1, но правильно записывается только 1ый пользователь
import csv
def writer(user_id):
user_cart = []
user_order = []
user_cart_quantity = {} # {user_cart: user_order}
for row in reader:
if row['user_id'] == str(user_id):
# список со всеми категориями с повтором
user_cart.append(row['cart'])
# список уникальных дат заказов
if row['order_completed_at'] not in user_order:
user_order.append(row['order_completed_at'])
# получение словаря key - категория, value - количество заказов
for i in user_cart:
if i not in user_cart_quantity:
if user_cart.count(i) > len(user_order) / 2: # заказов > 50%
user_cart_quantity.update({f'{i}': user_cart.count(i)})
with open('data/tesr.txt', 'a') as fw:
fw.write(f'{user_id};{i}, 1\n')
print(user_id)
print(user_order)
print(len(user_order))
print(user_cart_quantity)
with open('data/train.csv') as f:
reader = csv.DictReader(f)
user_id = 2
while user_id < 20000:
writer(user_id)
user_id += 1