用python处理原始caltrain调度数据的库
python-caltrain的Python项目详细描述
用于处理原始湾区计算列车调度数据的库 Python。
python-caltrain的目的是什么?
此库的目的是方便对 计算列车时刻表,例如:
- 从sunnyvale到south san francisco车站的旅行费用。
- 从22街到圣何塞的下一班火车。
- 从san mateo到menlo park的旅行时间 有限的列车。
这个图书馆需要互联网连接吗?
python-caltrain不需要互联网连接,使 很容易嵌入到脱机应用程序中。它依赖于Caltrain GTFS file, 每年最多更新几次。这个 图书馆将根据Caltrain的公告进行更新。这个 版本号是year.month.rev以表示最近的版本。
例如,2016.4.0表示库处于0修订版,并使用april 2016gtfs文件。
我怎么得到它?
通过PIP安装:
pip install python-caltrain
我怎么用?
让我们找下一班从桑尼维尔到旧金山第四和国王的火车。
>>frompython_caltrainimportCaltrain>>c=Caltrain()>>n=c.next_trips('sunnyvale','sf')[0]>>n.departuredatetime.time(11,26)>>n.arrivaldatetime.time(12,43)>>n.durationdatetime.timedelta(0,4620)
下一班火车是下午12:43从桑尼维尔开出的。让我们看看火车号 就是这样。
>>n.train.name'143'
这是哪种火车?
>>str(n.train.kind)'Local'
你能打印旅行摘要吗?
>>str(n)[Local143]Departs:11:26:00,Arrives:12:43:00(1:17:00)
那班火车在圣马特奥停吗?如果是,什么时候?
>>san_mateo=c.get_station('san mateo')>>san_mateoinn.train.stopsTrue>>n.train.stops[san_mateo].arrivaldatetime.time(12,8)
这次旅行要花多少钱?
>>c.fare_between('sunnyvale','san francisco')(7,75)
天哪,那太贵了……
如果我想知道过去某个时间点后的下一班火车,或者 未来?
>>fromdatetimeimportdatetime>>d=...# Your date time here>>n=c.next_trips('sunnyvale','sf',after=d)
站名不需要消毒。这个 Caltrain.get_station(...)、Caltrain.next_trip(...)和 Caltrain.fare_between(...)函数都执行清理 它们本身可以自动解析 车站。
例如,sf,sanfrancisco,san fran, san francisco station都被理解为同一个站。相同 使用22nd、Twenty-Second、twenty second street和 22nd str。