在Python中解析.ics文件的事件
基本上,我的目标是想要把一个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
你可以试试:
with Calendar.from_ical(open("work.ics")) as FileObj:
for components in FileObj:
print components
这个代码应该能打印出文件中的每一行(还没测试过)。
3
这段话的意思是,具体你想要的“解析事件日期”是什么?如果你是想知道所有事件的日期(比如RRULE、RDATE、EXDATE),你可以试试pyICSParser,这是一个可以列出ICS事件的工具,它可以帮你列出事件的所有实例:
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
另外,提醒一下 - 我是这个模块的作者,或者说我还在写这个模块,目前它只处理日期,而不处理日期和时间的值。