如何使用Python tabulate库显示指定列子集
解决tabulate只显示字典列表指定键的问题
你可以通过生成仅包含目标键的新字典列表来实现需求,无需修改原数据,代码示例如下:
from tabulate import tabulate # 示例数据 data = [ {"id": 1, "typeId": 2, "protocol": "HTTP", "unused_key1": "val1", "unused_key2": "val2"}, {"id": 2, "typeId": 3, "protocol": "HTTPS", "unused_key1": "val3", "unused_key2": "val4"} ] # 指定要显示的键 target_keys = ["id", "protocol"] # 生成筛选后的字典列表 filtered_data = [{key: item[key] for key in target_keys} for item in data] # 打印表格 print(tabulate(filtered_data, headers="keys"))
你之前的方法无效原因:
- 用字典作为
headers参数时,该参数仅用于重命名列,None仅隐藏对应列的表头,但列本身仍会显示,未指定的键会被默认展示。 - 用列表作为
headers参数时,tabulate要求列表长度与所有列的数量一致(字典列表默认展示全部键),仅传入2个表头会因数量不匹配抛出异常。
内容的提问来源于stack exchange,提问作者shoap
相关产品推荐
相关产品推荐

