Your new best Milestone-tracking friend: Google Calendar CSV Import

Over the past 4 days, I’ve been marinating lovely in a sauce of grad program information, while also gearing up for classes starting next week. I’ve been inundated with deadlines: dates to submit forms for everything from membership in a professional organization, to the last day of dropping classes, to ever-important funding application deadlines. And I haven’t even mentioned the other 16 hours of my day: keeping track of my health, lunch dates and dinners with friends and families, meetings with volunteer organizations, and the things going on around town that I absolutely cannnot miss.

Unbeknownst to me at the time, I seem to have decided a couple weeks ago that the only way to survive the next 20 months of graduate school is to absolutely frontload my calendar – and by calendar, I mean Google Calendar. It’s become my dashboard of sorts – my first stop when I ask myself how to make my day most meaningful for the goals I want to achieve. I’m able to create gazillions of private calendars for every project or group of projects I want, and I can quickly visualize how milestones and events like meetings, unfurl into prep sessions and deep-dive blocks leading up to it. As my group projects start to pick up, I can imagine this getting even more intense, as I use meeting software to coordinate times with my equally-busy group project colleagues.

In order to make it the calendar view valuable, however, it has to actually have all the information, and in the past, I’ve struggled with how exactly to get it all in there. I’ve become a whiz at tailoring a perfect Quick Add entry in Google Calendar, using recurring events, and making the best use of public event calendars. I’m even blessed with a university registration system that allows me to download an importable iCal file of my class schedule for the next 8 months. But when it comes to batch importing of irregularly-timed project deadlines into a Google Calendar, nothing seemed to be “just right,” in the sense of being dead simple and a clear time-saver.

Until now! Last week, when I was importing the aforementioned class schedule iCal, my curiosity was piqued when I saw that Google Calendar also accepted CSVs. CSVs have become a bit of a secret magic key for me, having spent more time than most non-programmers working with regular expressions. But it was the Google Calendar documentation on the CSV format that proved the most awe-inspiring. As it turns out, you can import almost any kind of Google Calendar entry just by entering its information with commas separating the field, line by line in a text file. (As you can see, the regexp thing has made me a little peculiar.)

But the best part? You can define the format of the CSV, because Google allows you to tell it how to interpret the format of the file you want to upload. So, if you…

  • Need several 1-hour events sprinkled through a week or month with links in the Description field? You can specify it to have all those fields, in the order that’s easiest for you to work with.
  • Need only All-day milestone notifications with a subject? The minimum requirement for an entry in Google Calendar is a subject and a start date, and it assumes that it is an all-day event.

    Which means importing just this:

    XXX: Individual Assignment 1 draft posted, 09/20/2009
    XXX: Individual Assignment 2 draft posted, 09/27/2009

    will create two entries for you. Nifty!

This opened up a whole new world for me, really. I ended up writing a script to convert a schedule in a Word document distributed by my department into a Google Calendar that I could share with my fellow graduate students. And putting milestones simply by entering a list of titles and dates? For a compulsive command line user, I’m really struggling to wonder if any other tool could get closer to ESP. (Well, Twitter’s probably close.)

The other advantage of CSV import (which you can learn how to do in the GCal interface) is that you can choose to create a new, empty calendar, and import it into there (which is also great for sharing) — or you can import into an existing calendar. Word of caution (!): if you’re at all uncertain about your CSV because you’re doing any kind of automatic generation or parsing of a differently-formatted file, or if you just want to be able to undo what you put in, go with creating a separate calendar — it will be very difficult to select your imported events from your previously-existing entries if anything goes wrong, which, depending on how complex your file format is, could go from being a cinch to fix, to being a real pain in the neck. (Especially if your entry titles or descriptions have commas in it, for instance.)

I hope this has revealed as many new possibilities for your use of Google Calendar as it has for me! Combined with my discovery of Helvetical, I’ve never been more happy with not relying on a paper planner. If you have any other tricks and tips with Google Calendar, I’d love to hear them in the comments!

Post a Comment

Your email is never published nor shared. Required fields are marked *