第2章 CSV文件

CSV(comma-separated value,逗号分隔值)文件格式是一种非常简单的数据存储与分享方式。CSV文件将数据表格存储为纯文本,表格(或电子表格)中的每个单元格都是一个数值或字符串。与Excel文件相比,CSV文件的一个主要优点是有很多程序可以存储、转换和处理纯文本文件;相比之下,能够处理Excel文件的程序却不多。所有电子表格程序、文字处理程序或简单的文本编辑器都可以处理纯文本文件,但不是所有的程序都能处理Excel文件。尽管Excel是一个功能非常强大的工具,但是当你使用Excel文件时,还是会被局限在Excel提供的功能范围内。CSV文件则为你提供了非常大的自由,使你在完成任务的时候可以选择合适的工具来处理数据——如果没有现成的工具,那就使用Python自己开发一个!

当你使用CSV文件时,确实会失去某些Excel功能:在Excel电子表格中,每个单元格都有一个定义好的“类型”(数值、文本、货币、日期等),CSV文件中的单元格则只是原始数据。幸好,Python在识别不同数据类型方面相当聪明,第1章中已经展示了这一点。使用CSV文件的另一个问题是它只能保存数据,不能保存公式。但是,通过将数据存储(CSV文件)和数据处理(Python脚本)分离,你可以很容易地在不同数据集上进行加工处理。当数据存储和数据处理过程分开进行时,错误(不管是数据处理中的错误,还是数据存储中的错误)不但更容易被发现,而且更难扩散。

要使用CSV文件开始工作,需要先创建一个CSV文件,你可以从以下地址(https://github.com/cbrownley/foundations-for-analytics-with-python/blob/master/csv/supplier_data.csv)下载这个文件,步骤如下。

(1)打开一个新的电子表格,向其中加入数据,如图2-1所示。

图2-1:向supplier_data.csv文件中添加数据

(2)将文件保存在桌面上,文件名为supplier_data.csv。

要确认supplier_data.csv确实是纯文本文件。

(1)将所有打开的窗口最小化,在桌面上找到supplier_data.csv。

(2)在文件上点击鼠标右键。

(3)选择“Open with”,然后选择一个文本编辑器,如Notepad、Notepad++或Sublime Text。

当你在文本编辑器中打开这个文件时,它看上去应该如图2-2所示。

图2-2:Notepad中的supplier_data.csv文件

正如你所看到的,这个文件是一个简单的纯文本文件。每行包含5个由逗号分隔的值。对这种文件的另一种理解是由逗号划定了Excel电子表格中的5列。现在你可以关闭这个文件了。