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

在Python中解析.ics文件中的事件,python,date,calendar,icalendar,Python,Date,Calendar,Icalendar,基本上,我的目标是能够将ics文件作为输入,能够解析出日期的事件,然后从每个事件中分解信息。我一直在试着和你一起解决这个问题 这是我所能做到的 from icalendar import Calendar, Event cal = Calendar.from_ical(open('Work.ics','rb').read()) for component in cal.walk(): print component 也许可以试试: with Calendar.from_ical(op

基本上,我的目标是能够将ics文件作为输入,能够解析出日期的事件,然后从每个事件中分解信息。我一直在试着和你一起解决这个问题

这是我所能做到的

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

for component in cal.walk():
    print component
也许可以试试:

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

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

取决于您所说的“解析事件日期”:如果您指的是能够知道所有实例日期(RRULE、RDATE、EXDATE),您还可以尝试列出事件实例:

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:免责声明-我写了/仍在写这个模块,到目前为止它只处理日期而不是日期时间属性值。

我得到了
类型错误:不是JSON可序列化的
不幸的是,这个描述已经过时,如果有人想尝试这个,请查看已安装的test.py以了解它现在是如何工作的