我如何在 python 中使用显示时间的数据字符串(从网站的 table 中抓取)?
How can i use string of data showing times (scraped from a table from a website) in python?
我需要我的 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 等
您在创建数组和字典方面走在了正确的路线上。但是你想避免分别为每一天创建字典。
假设你的数据是一个字符串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']
- 然后你可以循环以在 schedule
.[=16 中进行适当的调用=]
我需要我的 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 等
您在创建数组和字典方面走在了正确的路线上。但是你想避免分别为每一天创建字典。
假设你的数据是一个字符串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']
- 然后你可以循环以在 schedule
.[=16 中进行适当的调用=]