在Python中解析.ics文件中的事件

时间:2013-01-26 02:50:20

标签: python date calendar icalendar

基本上我的目标是我希望能够将一个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

2 个答案:

答案 0 :(得分: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属性值。

答案 1 :(得分:0)

也许试试:

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

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