Converting old ICS files into Daily notes retroactively

Has anyone perhaps tried the following? If so, what were roughly the steps you took?

What I’m trying to do

I have a static .ics file with an export of my Google calendar from 2007-2020.
I would like to find a way of turning all those calendar items into daily logs of sorts: one .md file per date that has calendar items. Each calendar item shown with its begin/end times (or full day/multiple day), title/summary, location and description if exist. I don’t necessarily aim to do this within Obsidian. I assume it will be easier to work out a path/script outside of Obsidian and place the resulting .md files inside the Vault folder. IOW I am not looking to live import calendar items looking from today forwards, but import my calendar archives as reconstructed Daily logs after the fact.

Things I have tried

I searched online for potential leads but most material is about importing live calendars.
If you have experience with working with the .ics format and transforming it into something else, any pointers or suggestions are welcome.

ICS is a standard format. If you’re using a full programming language for scripting (rather than shell scripting), it probably has a library for reading it to a data structure which you can then easily work with to produce your files.

1 Like

Yes, thanks! After finding several parser scripts/libraries on github for php, I realised they were all too complicated for my use case. In the end I wrote a small php script that goes through the ics file line by line and ran it locally. For each event found it created or appended a file for that date. This didn’t process repeating events, and only captured the start date of a multiday event but that is good enough for me. Now I have backfilled my Daylogs for the years 2007-2020 into Obsidian.

Nice! That’s got to be a good feeling.

1 Like

This topic was automatically closed 7 days after the last reply. New replies are no longer allowed.