本节书摘来自华章社区《Clojure数据分析秘笈》一书中的第2章,第2.7节标准化日期和时间,作者(美)Eric Rochester,更多章节内容可以访问云栖社区“华章社区”公众号查看
2.7 标准化日期和时间
在标准化和清洗数据过程中时间的处理是一个难题。人们以各种各样让人困惑的格式输入日期和时间,其中一些还有歧义。但需要尽力将它们翻译并转换为标准格式。
本方法将定义一个试图解析一个日期并将之转换为标准的字符串格式。接下来将使用Clojure的clj-time库,它是对Joda Java库(http://joda-time.sourceforge.net/)的一个包装实现。
2.7.1 准备工作
首先需要通过以下小段代码在Leiningen project.clj文件中声明使用的依赖:
2.7.3 更多信息
这种解析日期的方法中存在一些问题。例如,由于有些日期的格式是有歧义的,因此第一个匹配的格式不一定是正确的那个。
然而,像这种试图列出一个格式列表可能是能想到的最好的办法。如果了解数据本身,可以调整一个格式列表中的优先级,并且当运行在新数据上时可以增加临时格式。在整合数据之前可能需要将不同来源的数据进行标准化(例如,美国的日期格式与世界上其他国家的)。