数据读入的几种不同方式和相关数据类型

一、直接输入数据。

直接使用键盘输入数据需要注意的是输入数据的类型,一般是使用列表(list)类型,如下图所示:

直接定义一个数据导入的函数,并将函数返回值设为dataSet和label变量,在主程序的其它部分或者其他函数中则可以通过调用loadDataSet()函数实现数据的载入。

需要注意的是,利用该种方法得到的输入数据实际上是list类型的数据,如果想要对数据进行相关运算,则需要利用python中的numpy模块进行数据类型的转换:

类型一:array类型,使用array类型的数据时,我们可以实现数据对应位置的运算,示例:

Result:

类型二:mat类型,将数据由list类型转换为mat(矩阵)类型的数据后,即可以进行矩阵运算,并可以利用numpy库中自带的相关函数,进行矩阵求逆、矩阵转置等相关操作。示例:

Result:

二、利用python命令直接从文件中读取相关数据,如从txt文件、excel文件等中读取得到数据。

2.1从txt文件中读取数据

示例:

假设在python的工作目录下,存在一个名为example的txt文件,原始文件中的数据格式如下:

每一行数据间用换行符进行分离,每一行的列数据间用tab分隔符隔开。

Python命令行为:

Result:

从结果中,我们可以看到最终得到的是一个list类型的数据,并且在使用字符串移除和切分之后,所得到的也是一个list,list中每个元素均为字符串。至此,我们便能初步获取得到txt文件中的数据,但如果要实现对其进行数值型转换和进一步计算的话,我们可以将利用map()函数,进行Python的函数式编程,将所获取到的字符串型数据全部转换成我们所需要的(一般是浮点型float)的数据。再利用之前所说的两种不同的数据类型(array和mat),实现更复杂的运算。

2.2从excel文件中读取数据

Python提供了xlrd和xlwt两个模块来实现通过python命令行对于excel文件的读写操作,由于本次部分只包括数据读入部分,因此这一部分先介绍xlrd模块,通过介绍其相关方法的使用,达到我们从excel文件中读取数据的目的。Xlwt模块会在之后的数据输出部分中详细介绍。

原始excel文件如下图所示:

在此次构建的示例excel文件中,一共包括三张sheet,每张sheet中都包括24行、9列的数据。(只为展示命令效果,实际数据集当然比这个要多很多)

示例1:直接根据表名获取表及其相关属性

Result:

示例2:根据索引值获取表的属性

Result:

示例2.1:构建空列表,用于存储所读取的所有行或所有列值

Result:

经过此次数据读取之后,将每一行或每一列的数据分别存放到一个列表当中,得到列表类型的数据后,通过列表切分可以获得我们当前所需要的各部分数据。但若需要进行相关运算,则还应按照之前所讲到的将数据类型转换成mat或array型。

示例2.2:获取指定单元格的值

Result:

三、利用Python命令操作主流数据库(如mysql, sql server, postgresql, mongodb等),其中mongodb是使用最为广泛的非关系型数据库,也是之后要在爬虫部分提到的用于存取从网页中爬取到的数据的数据库。

Python标准数据库接口为PythonDB-API,Python DB-API为开发人员提供了数据库应用编程接口。Python数据库接口支持非常多的数据库。

本次介绍以mysql为例,介绍Python是如何通过命令行形式操作关系型数据库的;操作MongoDB(非关系型数据库)的介绍则会在爬虫部分展开。

1Python DB-API的简单介绍及其使用流程

Python的DB-API是一个规范,它定义了一系列必须的对象和数据库存取方式,以便为各种各样的底数据库系统和多种多样的数据库接口程序提供一致的访问接口,需要注意的是:不同的数据库需要下载不同的DB API模块。

使用流程:

引入API模块;获取与数据库的连接;执行SQL语句和存储过程;关闭数据库连接。

2使用python操作mysql数据库(由于Python3.x版本还未支持MySQLdb模块,因此这里使用的是Python2.7的版本

2.1 Mysql数据库以及MySQLdb模块的安装

MySQLdb是用于Python链接Mysql数据库的接口。

为确保我们能够使用接口编写Mysql的脚本,我们首先需要在电脑上安装Mysql,并安装MySQLdb模块。Mysql下载地址:https://dev.mysql.com/downloads/mysql/;MySQLdb下载地址:https://sourceforge.net/projects/mysql-python/files/?source=navbar。

安装完毕后,使用ImportMySQLdb命令检验是否安装成功。

2.2数据库的连接和SQL语句的执行(数据库及数据表的操作)

安装完毕后,我们首先保证已有数据库名,并在相应的数据库下新建了用于存放数据的数据表。

示例:

通过DB-API接口,我们可以利用Python编写所需要的脚本,用于操作相应数据库,只需进行连接后,我们便可以通过cursor()、execute()方法执行SQL语句,对数据库进行更新、删除等操作,对数据表进行创建、插入、更新、删除及查询操作,上面展示的示例便是对数据表的查询,通过该脚本,我们可以获取到数据表中的所有数据,并存放到我们指定的列表变量中,以待后续使用。

注:在实际脚本的编写中,我们通常会使用try…except…格式来捕获异常,这里为了简便就未曾写成该种形式。

我会将利用PythonDB-API接口操作PostgreSQL数据库的脚本程序也附在文件中,供参考。

上述部分将常见的数据导入囊括其中,所有的源代码也会添加到附件当中。值得注意的是,本次给出的是框架式的应用部分,还有很多细节需要我们在实际训练中不断掌握。之后的部分将会提到如何利用爬虫获取网页数据,并将其存放到数据库或excel文件中。

在这里提个小插曲,就是在机器学习算法编写的学习过程中,发现字典类型的数据结构在计数、数据描述等方面十分有效,对于字典类型需要熟练掌握。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180713G12YQC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码关注腾讯云开发者

领取腾讯云代金券