如何在python中使用显示时间的数据字符串(从网站的表中删除)?

时间:2017-10-29 18:18:54

标签: python selenium dictionary raspberry-pi3 schedule

我需要我的Raspberry Pi在特定时间每天播放声音。为此我使用schedule for python

schedule.every().day.at("20:00").do(playsound)

这很好用。

我在python的selenium网站上刮擦时间。我得到的数据看起来像这样:

29.10.2017 00:00 05:00 10:00 15:00 20:00 
30.10.2017 00:10 05:10 10:10 15:10 20:10
31.10.2017 00:00 05:50 10:10 15:15 20:20
01.11.2017 10:00 06:00 11:00 16:00 21:00
...

问题是:我如何在python中使用这些数据?

我可以通过使用.split()将数据放入数组中,但是查找它变得很困难。从数组中,我可以将它放入字典中:

dict = {'Time1': arrayOfTimes[1], 'Time2': arrayOfTimes[2],...}

但是,我是否必须为每一天创建一本字典?或者覆盖字典?

如果我想每天都播放声音,我每天都能实现这个目标吗?更确切地说:我想今天在00:00和05:00以及10:00播放声音,依此类推。然后我想明天在新的时间播放声音:00:10和05:10以及10:10等。

1 个答案:

答案 0 :(得分:2)

你正在创建一个数组和一个字典。但是你想避免分别为每一天创建字典。

假设您将数据作为字符串.saso-was-price { text-decoration: line-through; color: #FF0000; font-size: 14px; opacity: 0.8; } ,您可以使用以下代码:

data

首先遍历输入的每一行,然后在字典中创建一个条目,其中日期为键,行的其余部分(时间)作为值。

times = {} for x in data.split("\n"): split = x.split() times[split[0]]=split[1:] 看起来像

times

然后,当你到达正确的一天时,你可以简单地查看(例如){'31.10.2017': ['00:00', '05:50', '10:10', '15:15', '20:20'], '30.10.2017': ['00:10', '05:10', '10:10', '15:10', '20:10'], '29.10.2017': ['00:00', '05:00', '10:00', '15:00', '20:00'], '01.11.2017': ['10:00', '06:00', '11:00', '16:00', '21:00']} - 然后你可以循环通过times['29.10.2017']进行适当的调用。