Great Expectations 0.7.6中expect_table_columns_to_match_set方法报错排查
问题原因及解决方案
核心问题
你使用的Great Expectations 0.7.6版本没有expect_table_columns_to_match_set这个方法,该API是在后续版本中才新增的,所以调用时会触发AttributeError。
解决办法
方案1:用现有API组合实现需求
在0.7.6版本中,可以通过两个现有期望组合达成“列集合匹配”的效果:
- 用
expect_table_column_count_to_equal验证列数量与预期集合大小一致 - 用
expect_table_columns_to_contain_set验证所有预期列都存在于表中
示例代码:
# 验证列数等于预期集合的元素数量 df_asset.expect_table_column_count_to_equal(len(set(['A', 'B']))) # 验证所有预期列都存在 df_asset.expect_table_columns_to_contain_set(set(['A', 'B']))
两个期望同时满足时,就等价于“列集合完全匹配”的效果。
方案2:升级Great Expectations版本
如果允许升级,将版本升级到0.10.0及以上(该方法在0.10.x系列中已添加),升级命令:
pip install --upgrade great-expectations
升级后即可直接调用expect_table_columns_to_match_set方法。
内容的提问来源于stack exchange,提问作者Elis
相关产品推荐
相关产品推荐

