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

如何在Python中从SearchResult对象提取数据?

解决rttapi中SearchResult对象的信息获取问题

SearchResult是rttapi模块定义的自定义类实例,并非列表或字典,因此无法使用下标访问。你可以通过以下几种方式获取其中的信息:

1. 查看对象的可用属性和方法

使用Python内置的dir()函数,列出该对象的所有属性与方法:

from rttapi.api import RttApi
api = RttApi('rttapi_exampleuser', '00112233aabbccdd')
departures = api.search_station_departures('EDB')
# 打印所有属性和方法名称
print(dir(departures))

输出中不带双下划线(或仅单下划线)的项,通常是和业务数据相关的属性,比如services、station这类。

2. 直接访问对象属性

结合RTT API的业务逻辑,search_station_departures返回的结果应该包含车站的出发车次信息,你可以尝试直接访问对应的属性:

# 获取并遍历出发车次列表
if hasattr(departures, 'services'):
    for service in departures.services:
        # 示例:打印车次编号与目的地
        print(f"车次ID: {service.service_id}, 目的地: {service.destination_name}")

# 获取车站基础信息
if hasattr(departures, 'station'):
    print(f"车站名称: {departures.station.name}, 车站代码: {departures.station.crs}")

3. 转为字典查看结构

多数Python类会自带__dict__属性,你可以将对象转为字典,直观查看内部存储的所有键值对:

# 打印对象的字典形式,查看数据结构
print(departures.__dict__)

根据输出的字典结构,就能对应找到需要访问的属性名称。

4. 查看模块源码

如果以上方法仍不清晰,可直接查看rttapi模块的源码。在Python的site-packages目录找到rttapi文件夹,打开model.py文件,找到SearchResult类的定义,里面会明确列出所有属性和对应的业务含义。


内容的提问来源于stack exchange,提问作者Struan Lawrie

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.11 23:33:14