3.1.3 文本数据
文本是一种常用的数据表形式,例如,使用以.json、.xml、.csv为扩展名的文件,里面全是字符串形式的文本,既包括数字的形式,也包括字符串的形式。在程序读取这些字符串内容后,再将它们转化为相应的数据类型,如整数、浮点数、文本、数组,为程序所用。这些字符串以怎样的规则存储在文件中,是一个需要考虑的问题,因为在使用前,我们需要解析它们,将它们变成程序内存中的数值。
文本读取规则有很多标准形式,包括JSON、XML、CSV等,这些都是常用的文本读取规则,大多数情况下,使用文本读取字符串形式的数据,然后按规则转化成相应的数据和数据组是极佳的选择。它的优点是,肉眼能很直观地看到数据,也更容易查找问题,还能立即直接对文本进行修改,无须其他工具。
像文本这样的数据存储方式,为了方便快捷,可把数据直接用逗号隔开,或者用空格隔开,或者用特别的符号如“;”(分号)等形式隔开,这样就可以作为一个数据的规则格式,无须商定其他复杂的协议。
还记得主要的数据开发工具是Excel吗?为了能从Excel里更容易地导出数据,我们会选择一些更加简单实用的导出方式。比如直接从Excel里复制和粘贴数据到txt文件,这是最直接的手动导出方式。也有用Excel直接保存CSV格式的,它是以“,”(逗号)隔开格式的文本文件。
这些都是比较容易的方式,如果要使用程序转化,那就编写一个程序读取Excel文件内容,用程序直接导出相应的格式文件。
编写一个程序来导出Excel的数据(在读取Excel时会用到一些微软的库,这里不做介绍),会有很多格式可以考虑,比如前面提到的JSON格式、XML格式,以及自定义格式,每次导出时都会将数据在内存中以一定的规则排列好,再导出文件。
有过使用工具导出Excel数据经历的读者,以后都会非常喜欢使用程序导出数据,因为这样会更高效。当我们熟悉了这套流程和方法,在制定项目模块规划时,就会习惯性地将程序自动导出数据的模块规划进项目里,对他们来说这是信手拈来的事情,且很容易做到,并且一劳永逸。
这种程序化代替人工操作的事,我们通常称为自动化或流水线。在我们的工作中,自动化是最终目标,我们希望任何工作都可以用自动化代替,从而减少人工操作导致的失误,同时也减少了开发人员的工作量。