
2.1 Power Query的CSV/TXT 数据集成
目前在数据分析行业内CSV(逗号分隔值文件格式)数据是最简单的数据保存方式,不同于其他的Excel或数据库类型的数据保存形式。CSV是基于逗号实现数据分隔的一类数据,是不需要通过任何其他的数据驱动加载就可以使用的数据,它的数据格式如图2.1所示。

图2.1 CSV数据格式
如图2.1所示的数据之间以“,”作为分隔符,但是在实际场景的数据导入过程中有可能不是以“,”作为分隔符,在这种场景下,也可以使用与CSV格式相近的数据类型TSV导入。TSV是以制表符作为分隔符的一种数据保存形式,如图2.2所示。

图2.2 TSV格式的制表位分隔符
除此之外,文件的格式可能不是CSV,也不是TSV,而是TXT文本格式。这些TXT格式的数据也是以各类不同的分隔符进行分隔,与CSV格式类似,如图2.3和图2.4所示分别是以分号和冒号作为分隔符。

图2.3 分号为分隔符

图2.4 冒号为分隔符
Office 中的Excel和Power BI都支持上面提到的数据格式导入,接下来从两个产品使用的不同角度来实现文本数据格式的导入,并且探讨两种不同产品在进行数据集成方面的异同点。
2.1.1 Excel 导入CSV数据
前面提到,早期的Office版本(2010和2013)必须安装Power Query组件进行数据的导入,而Office 2016之后的版本则不需要通过安装Power Query插件的方式进行外部数据的导入。接下来以Office 365版本来演示Excel利用Power Query导入CSV数据,首先需要新建一个空白的Excel文件,在“开始”选项卡下选择“空白工作薄”,如图2.5所示。

图2.5 开启Excel 新文档
在Excel的标准文档界面中选择“数据”选项卡,单击“获取数据”下拉按钮,在下拉列表中选择“来自文件”→“从文本/CSV文件”命令,即可获取CSV文件,如图2.6所示。

图2.6 导入符合条件的CSV/TXT文件
在导入过程中需要注意,如果项目选择不正确,则导入的结果将不是我们希望获取的内容。
■ 编码问题:不正确的编码会导致导入过程中出现乱码。
■ 数据分隔符问题:虽然文件是TXT或CSV,但是如果是固定的分隔符,我们必须选择正确的分隔符才能获取正确的数据。
■ 采样数据容量问题:采样数据默认为200行,如果数据采样复杂,可能存在容量不够的情况,这里可以选择更多的数据作为采样数据。
这个取决于在实际数据分析时的需求,在完成上面三个条件后,就可以开始进行数据的导入了,导入的界面如图2.7所示。

图2.7 CSV/TXT数据导入的预览界面
选择正确的编码和分隔符之后,就可进入数据的载入界面,这里数据载入中有两个不同的按钮,如图2.8所示。这两个按钮在具体操作中面对的是不同的场景,需要根据实际的需求选择不同的按钮进行不同的操作。

图2.8 数据加载和处理
1. 数据直接加载到Excel中
选择“加载”选项,即不需要进行数据格式的处理和清洗,直接将所有数据加载到当前的Excel中。如果确定载入的数据不需要进行预处理和清洗,则可以直接使用“加载”选项进行数据的载入。
2.数据加载到选项
如果数据不需要进行再处理,但是需要设定数据导入后与当前的Excel之间的关系,就需要使用“加载到”选项进行当前数据关系的设置。通常这个选项不会直接在数据导入过程中进行操作,而会在数据集成和清洗之后选择这个操作。这些选项可以由多个选项组合而成,也可以只选择其中一个选项,图2.9所示为Excel中“加载到”的选项所提供的操作。

图2.9 选择“加载到”选项后的操作
■ 加载到表:将导入的数据加载到表中。
■ 加载到数据透视表:将导入后的数据加载到数据透视表,这些数据经过处理之后可以直接进行数据透视表字段的调用,在实际应用中,不经过数据集成和清洗而加载到数据透视表的场景非常之少。
■ 加载到数据透视图:将导入后的数据作为数据源,基于导入后的数据建立相应的数据透视表。在实际应用场景中,数据需要经过清洗和集成,不进行数据清洗和集成而直接加载到数据透视图的场景非常少。
■ 仅创建连接:当数据量比较大,超过了Excel存储的最大数据量,如果希望针对这些数据进行再次处理,而不要导入Excel中进行再处理,可以选择“仅创建连接”方式进行数据访问的连接。在实际的应用场景中,这种情况出现的比较多,当希望进行大量数据的访问和集成,必须通过“仅创建连接”方式进行。
■ 将数据加载到模型:如果需要基于导入、清洗和集成后的数据进行数据建模,则需选择这个选项将数据导入Power Pivot 模型中。导入Power Pivot 之后的数据可以按照建模的需求进行数据的再处理。
3. 转换数据进行数据再处理
如果单击“转换数据”按钮将进入Power Query的核心数据处理界面,在这个界面中可以实现数据的类型转换、清洗和内容的转换等操作,在图2.8中单击“转换数据”后将进入Power Query编辑和数据处理界面,如图2.10所示。
在Excel中完成Power Query编辑和处理的数据可以进行存储和再次处理,这是Excel与Power BI 在进行数据处理时最大的差别。

图2.10 Power Query编辑和数据处理界面
到此为止,我们就可以顺利通过Excel中的Power Query界面将数据导入Excel中了,接下来是数据的再处理。
●Tips
如果加载的数据超过1048576行,则无法将数据加载到Excel文件中。
2.1.2 Power BI导入CSV数据
在Power BI中不能保存数据,因此导入CSV数据比Excel更加简单。接下来我们来了解下如何通过Power BI导入CSV数据,在默认的Power BI界面中的“主页”选项卡下单击“获取数据”下拉按钮,在下拉列表中选择“文件/CSV”命令,如图2.11所示。

图2.11 Power BI导入CSV/TXT数据
在Power BI中选择符合条件的TXT/CSV数据,并且导入之后把数据按照需求进行再处理。与Excel导入数据操作相同,这里有三个不同的项目需要设定,如果设定不正确可能会得到错误的数据结果。
■ 编码问题:不正确的编码会导致导入过程中出现乱码。
■ 分隔符问题:虽然文件是TXT或CSV,但是分隔符如果是固定的,我们必须选择正确的分隔符,才能获取正确的数据。
■ 采样数据:采样数据默认为200行,在数据较为复杂的条件下容量可能不够。可以依据自己的需求选择更多的数据作为采样数据。
完成了文件编码的选择之后,确定了数据之间的分隔符和采样数据的数量,我们就可以使用Power BI来完成相应的数据导入操作了,图2.12所示为导入数据的参数选择和数据操作界面。

图2.12 数据的参数选择和数据导入
这里需要注意“加载”和“转换数据”的差别。Power BI不同于Excel,Excel的“加载”会将数据导入表格中,而Power BI只能将数据保存在缓存当中。而“转换数据”的功能能够将数据在Power Query界面中进行再处理,在Power BI中的Power Query的处理比Excel的更加完整。
在Power BI中进行CSV处理之后,数据将只能保存在缓存中,在数据表格处理界面可以设置数据的格式和类型。图2.13所示为在Power BI中处理之后的数据保存的位置。

图2.13 Power BI保存处理后的数据