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

640?wx_fmt=png

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

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


历史回看:
数据分析指北 - 前言(02)
方法论 之 你会问问题吗?
数据分析指北 - 基础(数据来源及轮廓)
有必要搞清楚数据的原始出处以及大致轮廓(分布)。
数据分析指北 - 基础(基础数据操作之一)
计算机是怎么处理表数据的,以及一些小学数学题?


640?wx_fmt=jpeg

Photo by Ksenia Kudelkina on Unsplash

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

  • 数据源

  • 文件

  • 数据库

  • 本次作业

数据源

 
 

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

640?wx_fmt=png

示例数据

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

文件

 
 

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

班,姓名,性别,出生年月,身高,数学,英语1,赵一,男,1990-02,160,96,79...2,李二,男,1989.02,,92,94...1,赵一,男,1990-02,160,96,79
...
2,李二,男,1989.02,,92,94
...

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

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

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

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

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

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

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

640?wx_fmt=png

Excel CSV的导入过程

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

MyData <- read.csv(file="c:/TheDataIWantToReadIn.csv", header=TRUE, sep=",")TRUE, sep=",")

Matlab 中,M = csvread(filename) 来完成这件事。

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

640?wx_fmt=png

KNIME CSV 模块配置选项

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

数据库

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

640?wx_fmt=png

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

KNIME 中,需要做的就是,把需要的灰色驱动节点下载下来,然后配置一下就好了。具体如何做,请参照 https://www.KNIME.com/database-documentation

本次作业

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

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

640?wx_fmt=png

导入 CSV 最终效果图

作业下载方法:关注公众号,回复 “作业” 二字即可获得下载链接。

实在搞不定的,等我下篇喽

回头聊

反馈,转发或赞赏?

640?wx_fmt=png


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值