首先先介绍一下字典遍历键值对:使用 dict.items()
nums = {
'2019-04-23': 41, '2019-05-02': 94, '2019-04-25': 80, '2019-05-04': 86, '2019-05-01': 90, '2019-05-03': 84, '2019-05-05': 10, '2019-04-28': 89, '2019-04-29': 79, '2019-04-26': 104, '2019-04-27': 93, '2019-04-30': 84, '2019-04-24': 66}
for date,times in nums.items():
print(f'{date} : 购物 {times} 次')
输出结果:
2019-04-23 : 购物 41 次
2019-05-02 : 购物 94 次
2019-04-25 : 购物 80 次
2019-05-04 : 购物 86 次
2019-05-01 : 购物 90 次
2019-05-03 : 购物 84 次
2019-05-05 : 购物 10 次
2019-04-28 : 购物 89 次
2019-04-29 : 购物 79 次
2019-04-26 : 购物 104 次
2019-04-27 : 购物 93 次
2019-04-30 : 购物 84 次
2019-04-24 : 购物 66 次
res_date = time.strftime(format,t)
# format -- 格式字符串
# t-- 可选的参数t是一个struct_time(时间元组)对象。可不是一个字符串对象
案例实战:
num_t ={
} # 直接用字典映射,我之前用的是列表,过程会很冗长
with open('C:\\Users\\Liu\\Desktop\\shop.log','r',encoding='utf-8') as fp:
lines = fp.read().splitlines()
for line in lines:
# 如果是空行
#方法1
# if not line.strip():
# continue
#方法2
if line == '':
continue
timestamp = int(line.split('>')[0])
# 转化为字符串时间,包含年月日即可
# 方便判断是否是某天
res_date = time.strftime('%Y-%m-%d',time.localtime(timestamp))
# 表中已经有当天记录,+1次
if res_date in num_t:
num_t[res_date] += 1
else:
num_t[res_date] = 1
for date,times in num_t.items():
print(f'{date} : 购物 {times} 次')
由于上传不了附件,我把数据拷贝到下面,可以自己拷贝然后命名就行了
1556010570> buy product id=ypaindg0u7aj0hsmjk4d
1556789260> buy product id=kgj2ymn4f9wcsjqml9el
1556192675> buy product id=rvyeq2qbpuhewr00oo8b
1556966935> buy product id=v6ewykqxqb1qpsl12qim
1556693325> buy product id=hs8ruifts3dsqf8vdzz6
1556881298> buy product id=4w06t39kuc69vi2vuyz4
1556997126> buy product id=92q0lhwnfw3unqimo0l5
1556392254> buy product id=bladhlslbvouf6h0ma1q
1556542278> buy product id=v18l6nuomxok249ahaqs
1556246304> buy product id=4cqjwyom5r31fwaigue0
1556803480> buy product id=hnsei0h6kg9jrjynjvcg
1556500119> buy product id=o0b2qzrrufv8d7xdfqbu
1556403027> buy product id=z4emlpjh009ashg12tad
1556731600> buy product id=e0qniee08f4g8pmtv4x4
1556299917> buy product id=9ef4m93q3bsdtctn083t
1556380425> buy product id=f5vc575hr9l8thm3pcsl
1556582900> buy product id=5lz3hyh7tdfyo3bsj88l
1556563372> buy product id=jxp96tpyjkz6kyjwkf20
1556537337> buy product id=nppvh5wgr04ek5506yme
1556697999> buy product id=rzuqs72zdxfx8l0tae3s
1556287938> buy product id=r2wx1tqi471x9w0mz5aw
1556430664> buy product id=u88nb7eezrgy7ymba71z
1556866801> buy product id=ltlvhlkvpjuvtia8fv93
1556568554> buy product id=cs8xvyrygzn23re3hppm
1556758256> buy product id=2y4vu7x6ov928h0zfout
1556533200> buy product id=p9aoc7515vlmb1gfnzhm
1556571701> buy product id=3qev76g96d1v638lyx5o
1556698742> buy product id=d7vhrgsljsde40g3pnio
1556172964> buy product id=3nqpuo6piyewxp0y6ftr
1556485804> buy product id=i8g7xeqb1t5mz4yd3kgq
1556121117> buy product id=qyxpr9tn98whslkl7ly3
1556793150> buy product id=5hvkdjtfdrdwvj87kebc
1556557011> buy product id=wztfjuzrl35ym5scxiw9
1556152966> buy product id=lv5x687aesbi19kznsex
1556623905> buy product id=g42qzfaoova0t6sce2hs
1556492199> buy product id=lwipgq9nv5uxxbaeuoh9
1556917314> buy product id=avys8ua8zape2z6vm255
1556581184> buy product id=qtdxmnx4qkpk0f39c71o
1556237820> buy product id=kq92unzkpw0ne6h4z3cs
1556205296> buy product id=pf