包含<等信息的日志文件时间戳,客户ID,页面ID,标题列表>

时间:2016-10-24 07:49:05

标签: python parsing

编写代码以打印过去一小时内访问过的所有唯一客户

我的尝试:

import datetime

def find_repeated_customer():
     file_obj = open(" my file path","r")
     customer_last_visit = {}
     repeat_customer = set()

     while line in file_obj:
        timestamp,customer_id,page_id = line.split(" : ")
        last_visit = customer_last_vist.get(customer_id,None)

            if not last_visit:
                customer_last_visit[customer_id] = last_visit
            else:
        # assuming time stamp looks like 2016-10-29 01:03:26.947000
                year,month,date = timestamp.split(" ")[0].split("-")
                current_visit = datetime.date(year,month,date)

                day_diff = current_visit - last_visit

                 if day_diff >=1:
                    repeat_customer.add(customer_id)
                 customer_last_visit[customer_id] = current_visit

我完全失败了,以获得我想要的输出。通过这样做,我能够在最后一天获得重复的客户,但如何获得独特的用户?

1 个答案:

答案 0 :(得分:1)

你无法一次性完成这种操作。你必须经过一次线路来获得客户,然后才能检查谁来过一次。在另一个过程中,您检查当前客户是否在一次客户列表中并与他做了一些事情。