You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于Python Requests返回字段值是否存在的布尔结果

解决方案:将数据提取脚本改为字段有效性校验脚本

核心思路是对每个字段的值做有效性判断,返回True(存在有效值)或False(无有效值,比如为None、空字符串等)。可以先定义一个辅助函数统一处理判断逻辑,避免重复代码。

修改后的代码示例

import requests

def has_valid_value(value):
    # 自定义有效值判断逻辑:排除None、空字符串、空容器
    if value is None:
        return False
    if isinstance(value, (str, list, dict, tuple)) and not value:
        return False
    return True

# 假设datasets是已有的数据集列表
result_list = []
for data in datasets:
    dataset_url = data['uri']
    d = requests.get(dataset_url)
    output = d.json()

    validation_dict = {
        'data_providers': [
            {
                'name': has_valid_value('NBN Atlas'),
                'url': has_valid_value('https://registry.nbnatlas.org/datasets'),
                'api_url': has_valid_value('https://registry.nbnatlas.org/ws/dataResource'),
                'type': has_valid_value('host')
            },
            {
                'name': has_valid_value(owner_name),
                'url': has_valid_value(owner_url),
                'api_url': has_valid_value(owner_api_url),
                'type': has_valid_value('owner')
            }
        ],
        'datasets': [{
            'title': has_valid_value(output.get('name')),
            'url': has_valid_value(output.get('alaPublicUrl')),
            'summary': has_valid_value(output.get('pubDescription')),
            'dataset_type': has_valid_value(output.get('resourceType')),
        }],
        'data_licences': [{
            'name': has_valid_value(output.get('licenseType')),
            'version': has_valid_value(output.get('licenseVersion')),
            'url': has_valid_value(None),
            'description': has_valid_value(None),
        }],
    }
    result_list.append(validation_dict)

# 输出符合要求的JSON格式结果
import json
print(json.dumps(result_list, indent=2))

关键说明

  • has_valid_value函数:统一处理有效值判断,可根据实际需求调整逻辑(比如是否把数字0视为有效、是否允许空列表等)。
  • 把原代码中每个字段的取值,替换为调用该函数的返回值,就能得到对应的布尔标识。
  • 运行后输出的JSON结构与你给出的期望示例完全一致,每个字段对应true或false。

内容的提问来源于stack exchange,提问作者h1m aga1n

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 23:15:41