以下是一个示例解决方案,该方案可以将给定的IDs按照日期进行分组:
from datetime import datetime
def group_ids_by_date(ids):
# 创建一个空字典以存储按日期分组的IDs
grouped_ids = {}
# 遍历所有的IDs
for id in ids:
# 从每个ID中提取日期部分
# 假设ID的格式为“ID_YYYY-MM-DD”
date_str = id.split('_')[1]
date = datetime.strptime(date_str, '%Y-%m-%d').date()
# 将ID添加到对应日期的分组中
if date in grouped_ids:
grouped_ids[date].append(id)
else:
grouped_ids[date] = [id]
return grouped_ids
# 示例输入IDs
ids = ['ID_2022-01-01', 'ID_2022-01-01', 'ID_2022-01-02', 'ID_2022-01-03', 'ID_2022-01-03']
# 按日期分组IDs
grouped_ids = group_ids_by_date(ids)
# 打印分组结果
for date, ids in grouped_ids.items():
print(f"{date}: {ids}")
输出结果将会是:
2022-01-01: ['ID_2022-01-01', 'ID_2022-01-01']
2022-01-02: ['ID_2022-01-02']
2022-01-03: ['ID_2022-01-03', 'ID_2022-01-03']
该示例代码首先定义了一个group_ids_by_date
函数,该函数接受一个包含IDs的列表作为输入。然后,它创建了一个空字典grouped_ids
来存储按日期分组的IDs。
接下来,代码遍历所有的IDs。对于每个ID,它首先从ID中提取日期部分。这里假设ID的格式为“ID_YYYY-MM-DD”,因此可以通过split('_')[1]
来提取日期部分。然后,代码使用datetime.strptime
函数将日期字符串转换为datetime.date
对象。
最后,代码将ID添加到对应日期的分组中。如果日期已经存在于grouped_ids
字典中,它将ID添加到对应的列表中。否则,它将创建一个新的列表,并将ID添加到该列表中。
最后,代码返回了按日期分组的IDs字典。你可以根据需要进一步处理或打印分组结果。
上一篇:按日期分组获取行数