以下是一个示例代码,演示了如何按月计算电话次数:
import datetime
# 从电话记录中获取电话日期和时间
phone_records = [
{'date': '2021-01-01', 'time': '08:30'},
{'date': '2021-01-02', 'time': '10:15'},
{'date': '2021-02-01', 'time': '14:45'},
{'date': '2021-02-05', 'time': '09:00'},
{'date': '2021-03-01', 'time': '16:30'},
]
# 创建一个字典,用于存储每个月的电话次数
monthly_counts = {}
# 遍历电话记录
for record in phone_records:
# 将日期字符串转换为datetime对象
date = datetime.datetime.strptime(record['date'], '%Y-%m-%d')
# 提取年份和月份
year = date.year
month = date.month
# 构建年份和月份的键
key = f'{year}-{month:02d}'
# 检查键是否已存在于字典中,如果不存在则创建一个新项并将计数设置为1,如果存在则将计数加1
if key in monthly_counts:
monthly_counts[key] += 1
else:
monthly_counts[key] = 1
# 打印每月的电话次数
for key, count in monthly_counts.items():
print(f'{key}: {count}次电话')
该代码将电话记录存储在一个列表中,每个记录都包含一个日期和时间。然后,它遍历电话记录,并使用datetime模块将日期字符串转换为datetime对象。接下来,它提取年份和月份,并构建一个键,形式为“YYYY-MM”。然后,它检查该键是否已存在于字典中。如果存在,它将计数加1;如果不存在,它将创建一个新项并将计数设置为1。最后,它打印每月的电话次数。