使用python进行数据分析--学习笔记

使用python进行数据分析--学习笔记

0.引言

之前两篇笔记相对详尽的叙述了如何读取文本格式数据。今天把留的小尾巴写完,那就是如何获取web数据和数据库数据(由于本人没有接触过二进制数据的读写,因此这部分就先忽略了)。

1.获取web数据

获取web数据是个很大的命题,大名鼎鼎的爬虫技术,其实就是干这件事儿。虽然爬虫技术不是数据分析领域的东西,但是,爬虫技术能够很大程度弥补本地数据源信息不足的问题,因此,如果会使用爬虫技术去获取一些外部数据,是一件很棒的事情。web数据爬虫主要有两种,一种是HTML爬虫,一种是webAPI爬虫。前者很复杂的,我们先忽略,后者相对简单很多而且更符合我们对数据格式的需求。

1.1啥叫webAPI

平时,我们在浏览器中输入一个url,多数情况下会返回一个网页。其实,我们看到的网页是浏览器通过解析相关的HTML/CSS/JS文件的最后产出。这种模式可以很好的满足我们上网的需求。但是,对于一些想通过web开放数据的需求,这种形式就显得很笨拙。于是我们就需要在服务器端做这么一件事儿:对于某个URL返回的不是HTML文件,而是机器能直接解析的数据。(事实上,webAPI的出现并不是要满足开放数据的目的,只不过用在个方面很合适),就像下面这个例子。

这个URL就可以看成是一个WebAPI。

1.2使用requests包获取webAPI数据

在这里,我们不必关心requests包是什么,工作原理是什么,这不是数据分析的内容,我们只需要把它当作是一个工具而已。当然,如果对网络爬虫技术感兴趣,requests是必修课。

现在,我们使用requests请求一段webAPI数据到本地。

一般情况下,通过webAPI返回的是JSON格式的数据。可以看到此次请求的返回是一个数组。由于resp.text本质上是一个字符串,要想正常使用这个数组,需要把这个(很长的)字符串转换成真正的数组,这里我们使用json包,来辅助完成这一操作。

此时,返回的数据以一个字典的数组形式存储在标准的python数据结构中。再往后的操作就可以使用之前的知识进行了,比如挑出我们想要的数据加载到DataFrame中。

挑选过程需要根据webAPI的数据字典进行(网站会提供)。下面举个例子。

2.获取数据库数据

在实际工作,绝大部分数据是存储在数据库中的。我们做数据分析通常有两种方式:1,直接在数据库中是用SQL完成工作;2,从数据库中导出数据,保存为文本文件后,在本地进行分析。

其实,我们还可以直接通过python程序查询出数据加载到python的数据结构中进行数据分析,省去数据导出的过程。

这里以oracle为例讲解如何使用python连接数据库进行数据读取。

第一步,安装python连接oracle的驱动包cx_Oracle。

老样子,在AnacondaPrompt里输入condainstallcx_Oracle。

第二步,建立数据库连接,执行SQL代码。

代码很简单,直接使用就可以了,强调一下建立Oracle连接的语句,

cx_Oracle.connect的输入为一个字符串,格式为“用户名/密码

数据库url地址”

可以看到查询出来的数据被保存在一个元组的列表里面。这样的数据结构十分方便被pandas加载,使用下面的代码把数据加载到DataFrame里面即可。

3.结束语

通过三篇笔记算是把python读取外部数据的方法介绍完了,后面将继续按照之前的写作思路进行。下一部分是数据准备。

------END------

欢迎讨论,直接在







































北京白癜风中医医院
北京中医白癜风医院哪家最好



转载请注明:http://www.92nongye.com/tlfc/204612368.html