如何在使用Dask Mongo时访问Dask Bag中的嵌套数据
访问Dask Bag中的嵌套元素进行过滤
因为你的嵌套键名包含连字符(比如credit-card、expiration-date),无法使用.语法访问,必须通过字典索引[]来逐层获取嵌套元素。以下是具体的过滤示例:
基础匹配示例
比如要筛选信用卡过期日期为12/23的记录:
b.filter(lambda record: record['credit-card']['expiration-date'] == '12/23').take(1)
复杂日期判断示例
如果需要按年份/月份做更灵活的筛选(比如筛选2025年及以后过期的记录),可以先解析日期字符串再判断:
from datetime import datetime def filter_expiration(record): exp_date_str = record['credit-card']['expiration-date'] # 拆分日期字符串为月份和年份,补全年份为四位 exp_month, exp_year = map(int, exp_date_str.split('/')) full_year = 2000 + exp_year # 筛选2025年及以后过期的记录 return full_year >= 2025 b.filter(filter_expiration).take(1)
核心逻辑是:通过record['credit-card']['expiration-date']逐层访问嵌套的过期日期字段,再在filter的判断逻辑中加入你需要的条件即可。
内容的提问来源于stack exchange,提问作者gauravpks
相关产品推荐
相关产品推荐

