If you’ve used the clocking features of
org-mode, you’re no doubt familiar
with the clock table, which
allows you to summarise time spent on different tasks. This is great for getting
an overview of projects, but it’s not a very flexible tool if you want to have a
more detailed idea of how you spend your time.
At this point I’ve accumulated about a year’s worth of clocked work time in org, and while clock tables have served me well so far, eventually I just wanted to get my data into R or Python for more minute analysis, and charts like the following:
However, I haven’t come across a reliable1 way to get individual clock entries
org-mode files and into a more widely readable format. So I’ve written
available on GitHub and through
MELPA, parses all of the clock entries in an
org-mode file and exports them to CSV format. At present the columns include
start and end dates, the task’s category, effort, and tags. Habits are also
given a flag.
You can invoke the parser by calling
org-clock-csv in interactive mode, in
which case it will parse whatever you’ve got in
org-agenda-files and pop up a
buffer with the results. The function can also be called from lisp code with a
file argument, and there’s an
org-clock-csv-batch version that will dump the
CSV results to standard output (for use with Emacs in batch mode).
If you’re looking for inspiration on what to do with your shiny new data set,
here’s a recent post
(though it’s not
org-mode based) that poses some good questions.