2

基本上我的目标是我希望能够将 ics 文件作为输入,并能够解析出日期的事件,然后从每个事件中分解出其中的信息。我一直在尝试用http://pypi.python.org/pypi/icalendar弄清楚

这是据我所知..

from icalendar import Calendar, Event
cal = Calendar.from_ical(open('Work.ics','rb').read())

for component in cal.walk():
    print component
4

2 回答 2

2

取决于“解析事件日期”的含义:您是否应该知道所有实例日期(RRULE、RDATE、EXDATE)的能力,您也可以尝试pyICSParser a ics events enumerator来列出事件实例:

mycal = icalendar.ics()
mycal.local_load("work.ics")
dates = mycal.get_event_instances(start,end)
#dates will contain the json with all explicit dates of the events spec'ed by the iCalendar file

PS:免责声明 - 我写/仍在写这个模块,到目前为止它只处理 DATE 而不是 DATE-TIME 属性值。

于 2013-01-29T11:03:53.703 回答
0

也许尝试:

with Calendar.from_ical(open("work.ics")) as FileObj:
    for components in FileObj:
        print components

这应该打印文件中的每一行(未经测试)。

于 2013-01-26T10:34:20.707 回答