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