0
我有一个ical文件,我想阅读使用python的json数组格式。我发现有一个名为icalendar 3.11的包,但它不会将iCalendar Text转换为json数组格式。如何使用python从icalendar文件创建json数组?
请参阅以下的iCalendar文本:
BEGIN:VCALENDAR
PRODID;X-RICAL-TZSOURCE=TZINFO:-//Airbnb Inc//Hosting Calendar 0.8.8//EN
CALSCALE:GREGORIAN
VERSION:2.0
BEGIN:VEVENT
DTEND;VALUE=DATE:20161111
DTSTART;VALUE=DATE:20161110
UID:[email protected]
DESCRIPTION:CHECKIN: 11/10/2016\nCHECKOUT: 11/11/2016\nNIGHTS: 1\nPHONE:
+1 (111) 111-1111\nEMAIL: [email protected]\nPRO
PERTY: Rittenhouse Square Cozy Studio Apartment\n
SUMMARY:John Smith (XXXXXX)
LOCATION:Rittenhouse Square Cozy Studio Apartment
END:VEVENT
BEGIN:VEVENT
DTEND;VALUE=DATE:20170104
DTSTART;VALUE=DATE:20170102
UID:[email protected]
DESCRIPTION:CHECKIN: 01/02/2017\nCHECKOUT: 01/04/2017\nNIGHTS: 2\nPHONE:
+1 (222) 222-2222\nEMAIL: [email protected]\nPROP
ERTY: Rittenhouse Square Cozy Studio Apartment\n
SUMMARY:Abe Lincoln (XXXXXX)
LOCATION:Rittenhouse Square Cozy Studio Apartment
END:VEVENT
END:VCALENDAR
利用的iCalendar包here,我已经试过如下:
from icalendar import Calendar
result = Calendar().from_ical(ical_content)
结果
VCALENDAR({u'CALSCALE': vText('GREGORIAN'), u'VERSION': vText('2.0'), u'PRODID': vText('-//Airbnb Inc//Hosting Calendar 0.8.8//EN')}, VEVENT({u'LOCATION': vText('Rittenhouse Square Cozy Studio Apartment'), u'DESCRIPTION': vText('CHECKIN: 11/10/2016\nCHECKOUT: 11/11/2016\nNIGHTS: 1\nPHONE: +1 (111) 111-1111\nEMAIL: [email protected]\nPROPERTY: Rittenhouse Square Cozy Studio Apartment\n'), u'UID': vText('[email protected]'), u'DTEND': <icalendar.prop.vDDDTypes object at 0x1041e5610>, u'DTSTART': <icalendar.prop.vDDDTypes object at 0x1041e58d0>, u'SUMMARY': vText('John Smith (XXXXXX)')}),VEVENT({u'LOCATION': vText('Rittenhouse Square Cozy Studio Apartment'), u'DESCRIPTION': vText('CHECKIN: 01/02/2017\nCHECKOUT: 01/04/2017\nNIGHTS: 2\nPHONE: +1 (222) 222-2222\nEMAIL: [email protected]\nPROPERTY: Rittenhouse Square Cozy Studio Apartment\n'), u'UID': vText('[email protected]'), u'DTEND': <icalendar.prop.vDDDTypes object at 0x10441c690>, u'DTSTART': <icalendar.prop.vDDDTypes object at 0x10441c6d0>, u'SUMMARY': vText('Abe Lincoln (XXXXXX)')}))
我怎样才能改变这个的iCalendar文本到一个JSON数组?
它 - 唯一的问题是,你”只显示其中一个结果。例如,约翰史密斯在原始事件中怎么样? – Chris
哦,得到它:)相同的键 - W8秒我会做一个编辑。 – opalczynski
@Chris立即检查。 – opalczynski