如何匹配资源列表与日期表格,生成各Resource对应的日期字典?
需求说明
我有一个资源列表:
resource = ['A', 'B', 'C']
同时有如下表格:
| Date | Resource |
|---|---|
| 2022-11-01 | ['A', 'B', 'C'] |
| 2022-11-12 | ['A', 'B'] |
| 2022-11-13 | ['B', 'C'] |
需要为每个资源(A、B、C)生成对应的日期列表,期望输出形式如下:
A: 2022-11-01 2022-11-12 B: 2022-11-01 2022-11-12 2022-11-13 C: 2022-11-01 2022-11-13
实现代码
用Python可以轻松实现这个需求,遍历表格数据为每个资源匹配对应日期:
# 定义资源列表 resources = ['A', 'B', 'C'] # 整理表格数据为可遍历的结构 table_data = [ {'date': '2022-11-01', 'resources': ['A', 'B', 'C']}, {'date': '2022-11-12', 'resources': ['A', 'B']}, {'date': '2022-11-13', 'resources': ['B', 'C']} ] # 初始化结果字典,每个资源对应空列表 result = {res: [] for res in resources} # 遍历表格数据,填充日期 for entry in table_data: current_date = entry['date'] for res in entry['resources']: result[res].append(current_date) # 按照期望格式打印结果 for res, dates in result.items(): print(f"{res}: {dates[0]}") for date in dates[1:]: print(f" {date}")
运行结果
执行代码后会输出符合要求的内容:
A: 2022-11-01 2022-11-12 B: 2022-11-01 2022-11-12 2022-11-13 C: 2022-11-01 2022-11-13
内容的提问来源于stack exchange,提问作者utegenf
相关产品推荐
相关产品推荐

