title: How to parse ical and get excluded dates in recurring event?
body: <p><strong>End goal</strong> I would like to parse an ical file and get all final events that appear on the calendar. I thought I had easily accomplished this but realized I was not properly capturing recurring events. I was simply counting the number of times the event appeared in the ical file but recurring events may appear once in the ical file and then say something like &quot;FREQ=DAILY;COUNT=10&quot;. So my script would only count it once but really it should be 10 times.</p>
  <p>The process I am trying is</p>
  <ol>
  <li>Check if the event is recurring from &quot;RRULE&quot;</li>
  <li>Count how many times it is occurring</li>
  <li>Get the excluded dates from &quot;EXDATE&quot; and subtract this value</li>
  </ol>
  <p>When I try component.get('EXDATE') the output I get is &lt;icalendar.prop.vDDDLists object at 0x7fc020d989a0&gt; but I do not know how to convert this to the date information.</p>
  <p>If there is an easier way to get the end goal please let me know.</p>
  <p>Sample Script</p>
  <pre><code>g = open('calendar.ics','rb')
  gcal = Calendar.from_ical(g.read())
  for component in gcal.walk():
      #Makes empty list to append info for each row
      row = []
  
      #Finds each event
      if component.name == &quot;VEVENT&quot;:
  
          #Summary contains the name of the event
          summary = component.get('summary')
          freq = component.get('RRULE')
  
          #HOW DO I WORK WITH THIS FORMAT
          exDate = component.get('EXDATE')
  
  
          #Gets start date information
          dtstart = component.get('dtstart').dt
          startDate = dtstart.strftime('%Y-%m-%d')
  
          #Adds info to list
          row.extend([startDate, summary])
  </code></pre>