opentranslink项目旨在为translink.co.uk上的公共数据(如时间表)提供一个简单的pythonic接口。

opentranslink的Python项目详细描述


opentranslink项目旨在为translink.co.uk上的公共数据提供一个简单的pythonic接口,例如时间表

功能

  • 路线/服务列表
  • 公共汽车时刻表

未来功能

  • 更好/更好的api。
  • 列车时刻表
  • 列车状态
  • 行程计划
  • 路线图

使用量

开始

一旦库稍微成熟一点,就可以从pypi安装它,但现在,只需克隆repo repo并运行python setup.py install

opentranslink中的顶级对象(目前)是Service,您应该在导入模块后初始化所需的服务:

import opentranslink

# initialise a client for each available service
goldline = opentranslink.Service('goldline')
metro = opentranslink.Service('metro')
ulsterbus = opentranslink.Service('ulsterbus')

检索路线列表

您可以使用其route()方法检索给定服务的完整路由列表:

>>> print metro.routes()
[<opentranslink.Route-1A>, <opentranslink.Route-1B>, <opentranslink.Route-1C>, ...]

您还可以使用其代码检索特定的路线:

>>> print metro.route('1A')
<opentranslink.Route-1A>

使用时间表

路由对象包含一个timetable属性,该属性用于与路由的任何可用时间表交互:

>>> route = goldline.route('273')
>>> print route.timetable
[
    (u'Mondays to Fridays', <dataset object>),
    (u'Saturdays', <dataset object>),
    (u'Sundays', <dataset object>),
    (u'Mondays to Fridays', <dataset object>),
    (u'Saturdays', <dataset object>),
    (u'Sundays', <dataset object>)
]

timetable返回元组列表。返回的每个元组都包含对应数据集的标签(很快将添加更好的标签,包括入站/出站方向)。显示的数据集对象是tablib.dataset对象,您可以在tablib documentation

与数据集对象的交互很简单:

>>> dataset = route.timetable[0][1]

>>> # show list of stops on this route
>>> print dataset.headers
[u'Belfast City Centre, Europa Buscentre', u'Lurgan, Loughview Park and Ride Lough Road', ...]

>>> # show the timetable for the fifth bus of the day
>>> print zip(dataset.headers, dataset[4])
[(u'Belfast City Centre, Europa Buscentre', u'0835'), (u'Lurgan, Loughview Park and Ride Lough Road', u'0900'), ...]

您可以使用tablib的导出功能将时间表转储为一整套格式:

>>> print dataset.json
>>> print dataset.csv
>>> print dataset.yaml
>>> print dataset.xls

报告错误

https://github.com/paddycarey/opentranslink/issues报告错误(我知道有很多)。

如果您报告了一个错误,请包括:

  • 您的操作系统名称和版本。
  • 有关本地设置的任何有助于故障排除的详细信息。
  • 重现错误的详细步骤。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
swing Java按钮/网格布局   java列出Google日历中的所有事件   java无效:单击API publisher test按钮后连接到后端时出错   带有内部赋值的java While循环导致checkstyle错误   java为什么trimToSize/ensureCapacity方法提供“公共”级访问?   文件输出流的java问题   ListIterator和并发修改异常的java问题   java如何使用两个URL映射   无法识别使用“./../”构造的字符串java相对路径,为什么?   首次写入remotelyclosedsocket不会触发异常,对吗?JAVA   java OneDrive REST API为文件上载提供了400个无效谓词   Java泛型、集合接口和对象类的问题   OpenSSL Java安全提供程序   jmeter java运行jmx禁用操作