数据分析指北-基础

数据分析指北 - 基础(基础数据操作之二,读取数据源)

如何读取文件数据(以CSV文件举例)和数据库数据。

Photo by Ksenia Kudelkina on Unsplash

微信公众号:数据分析指北

数据源

文件

数据库

本次作业

数据源

对上节的数据还有印象吗?作业有做吗?让我们从上次的数据继续说起。

示例数据

真实世界中的数据存在于各种地方,文件中,网页中,数据库中,甚至是剪贴板中。

文件

其中,文件分为多种类型,Excel的 XLS 文件,普通的 CSV 文件(逗号分隔文件),JSON文件,HDF5文件等等。以 CSV 文件为例,上面的示例数据可能是这样被记录的:

很简单,就是约定了以“,”分隔列中不同的数据,以自然的行来区分数据中不同的行。除了用逗号做为分隔符之外,还可以用其他的标识符,比如分号“;”,句号“。”或其他什么,只要格式遵从这个列分隔的约定就可以。

人们使用 CSV 文件,主要原因就是他其实是一个文本文件(并附加了一些格式进行约定),在所有的平台下都是可以直接打开阅读的。这一点而不像xls,数据库等存储数据的方式 – 需要安装特定的软件,才能查看数据。

对 CSV 文件观察一下,除了之前说的约定的分隔符之外,有可能你拿到的数据有一些 “意外”,比如没有表头,即没有 “班,姓名,性别,出生年月,身高,数学,英语” 那一行;开始时有几行空行;再或者有一些行比其他行短 - 短的主要原因是,那一行后面有一些列没有数据了,就没有写。

哦,对了,在处理中文数据的时候还有可能有关于文件编码的问题绊住你。

对于这样一个约定好了格式,但却仍然有上面所说的“意外”情况的 CSV 文件,在每个分析软件中,都有一些标准的方法去读取。

比如 Python (Pandas库)中就是函数, 函数的参数就是上面说的几种情况,外加一些处理“意外”的参数。

在 Excel 中,在导入的时候也是有类似的选项,如下图所示:

Excel CSV的导入过程

在 R 这门统计语言中,CSV 文件是按照如下方式读取的。即使还不懂这门语言,看着下面语句,也能猜个八九不离十了。

Matlab 中,来完成这件事。

KNIME 中(之前的附录作业中已经让你安装了哦),配置下 CSV 模块的参数就可以,大同小异:

KNIME CSV 模块配置选项

其余的文件类型,以及网页类型(也归类为文件类型),其实只是格式的约定差异而已,不再赘言。

数据库

数据库种类繁多,不同的数据库有不同的约定连接方式。为简便起见,这里只大概聊两句 KNIME 是怎么连接的。KNIME 底层是由 JAVA 语言写成的,在 JAVA 的世界中,有一个叫做JDBC(Java DataBase Connectivity)的标准,这个标准制定了怎样用 JAVA 去连接数据库,以及怎样在数据库中进行增加,删除,修改,查询(简称为增删改查,CRUD)等一系列操作。各个数据库厂商只需要根据这个标准,制定自己家数据库的相应驱动,就可以在 JAVA 程序中通过 JDBC 接口连接数据库了。下图中的灰色节点,就是各个数据库厂家提供的相应驱动。

JAVA 程序通过 JDBC 接口连接各种数据库

KNIME 中,需要做的就是,把需要的灰色驱动节点下载下来,然后配置一下就好了。具体如何做,请参照

本次作业

我已经给你准备好了 CSV 数据,在 KNIME 的小工程(workflow)中配置好了 CSV 模块,并把把结果导出成了一个文件。

你需要做的就是,把这个 workflow 想办法导入到你的 KNIME 中,然后试着操作得到下面的结果:

导入 CSV 最终效果图

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180708A0YXWS00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券