使用 Python 分析 Google Calender 日程
1. 缘起
制作 2019 年终工作总结 PPT 的时候想放入一些统计图,例如本年度参与的会议种类及数目。由于平时使用 Google Calender 安排日程,所以尝试从中分析。
2. 过程
2.1 直接搜索
第一个想法是搜索相关关键字,但是手动统计太麻烦了。
2.2 导出数据
在查看 Google Calender 的设置的时候,发现能够导出数据。
导出的文件是一个以 Google 账号使用的邮箱命名的 ZIP 压缩包,在上面选择导出了几个日历,这里就会有几个 ics 后缀的文件。直接打开 ics 文件的话,会唤起 Win 10 的邮件应用中执行日历导入操作(需要确认)。
直接用文本编辑器打开 ics 文件,会发现里面都是格式化的文本,包含使用 Google Calender 以来的全部数据。
2.3 分析数据
分析记录,尝试找出规律。发现近期的记录基本都是这样的格式:
更早的日历事件的字段会有差别(应该是更新过数据结构),但是我只需要 2019 年的,所以不需要关心。
根据我的需求,我只需要提取出这三个字段的内容即可:
DTSTART 事件开始时间
LOCATION 事件地点
SUMMARY 事件标题
2.4 提取记录
使用 Python 提取数据,用到的代码如下:
唯一的难点在于多行文本的正则提取。
提取的结果格式如下:
由于安排日程的时候比较随意,命名不规范,所以无法做到完整的分类统计,这次只能先人工分类统计。
3. 后续计划
1. 制定日程名称规范,例如参考 tagLyst 使用“#”在标题中标记标签,便于之后的统计。
2. 在 Google Calender 中建立其他日历,将工作和生活分开记录。
3. 完善代码:
直接使用 Python 生成统计图。
……
版权声明: 本文为 InfoQ 作者【Roc】的原创文章。
原文链接:【http://xie.infoq.cn/article/2b4e83e55150e8cbd35945cb9】。
本文遵守【CC BY-SA】协议,转载请保留原文出处及本版权声明。
评论