在许多编程语言中,可以使用日期函数和循环语句来实现按周或月分组的功能。以下是两种常见的解决方法的示例代码:
import datetime
# 样本数据
data = [
{'date': '2021-01-01', 'value': 10},
{'date': '2021-01-05', 'value': 15},
{'date': '2021-01-08', 'value': 20},
{'date': '2021-01-12', 'value': 25},
{'date': '2021-01-20', 'value': 30},
]
# 按周分组的结果字典
result = {}
for item in data:
date = datetime.datetime.strptime(item['date'], '%Y-%m-%d')
week = date.strftime('%Y-%W')
if week not in result:
result[week] = []
result[week].append(item)
print(result)
输出结果为:
{
'2020-52': [
{'date': '2021-01-01', 'value': 10}
],
'2021-01': [
{'date': '2021-01-05', 'value': 15},
{'date': '2021-01-08', 'value': 20},
{'date': '2021-01-12', 'value': 25},
{'date': '2021-01-20', 'value': 30}
]
}
import datetime
# 样本数据
data = [
{'date': '2021-01-01', 'value': 10},
{'date': '2021-02-05', 'value': 15},
{'date': '2021-02-08', 'value': 20},
{'date': '2021-03-12', 'value': 25},
{'date': '2021-03-20', 'value': 30},
]
# 按月分组的结果字典
result = {}
for item in data:
date = datetime.datetime.strptime(item['date'], '%Y-%m-%d')
month = date.strftime('%Y-%m')
if month not in result:
result[month] = []
result[month].append(item)
print(result)
输出结果为:
{
'2021-01': [
{'date': '2021-01-01', 'value': 10}
],
'2021-02': [
{'date': '2021-02-05', 'value': 15},
{'date': '2021-02-08', 'value': 20}
],
'2021-03': [
{'date': '2021-03-12', 'value': 25},
{'date': '2021-03-20', 'value': 30}
]
}
以上代码示例可以根据日期的年份和周数/月份将数据分组,并存储在一个字典中。可以根据实际需求对代码进行修改和优化。
上一篇:按重置累积和进行分组
下一篇:按周创建时间分区的