1、处理包含数据的文件

最近利用python读取txt文件时遇到了一个小问题,就是在计算两个np.narray()类型的数组时,出现了以下错误:

作为一个python新手,遇到这个问题后花费了挺多时间,在网上找了许多大神们写的例子,最后终于解决了。

总结如下:

(1)出现此问题的原因是:目的是想计算两个数组间的差值,但数组中的元素不是数据类型(float或int等),而是str类型的。

(2)解决方法:在为空数组添加数据过程中,将每个数据强制转化为float型。

如将“character.append(dataset[i][:-1])”修改为“ character.append([float(tk) for tk in dataset[i][:-1]])”

现将利用python读取txt文件的过程总结如下:

python版本为python3.6

(1)函数定义,存放于function.py文件中:

(2)实现两个数组间的减法,存放于main.py文件中:

(3)运行结果:

数据集如下:

2、处理文本文件,如情感识别类的文件

在进行文本的情感分类时,从电影评论数据集网站上下载数据集后,发现数据集中存在许多不需要的符号。截取部分包含多余字符的数据如下:

python处理文本的过程 用python处理文本数据_python txt文件处理软件

下载数据集后,所有txt文件存放在两个文件夹:“neg”(包含消极评论)和“pos”(包含积极地评论)中。

两者的存放目录如下:“f:\self_learning\机器学习\python\bayes\review_polarity\txt_sentoken”。后面需要用到文件路径,此路径可根据自己存放目录修改。

主要涉及到的python操作有:多余字符的删除、文件夹中多文件的操作。

2.1 多余字符的删除

首先,我们要删除多余的符号,获得干净的数据。

经过查找资料,知道删除一条文本数据中不需要的符号,可以通过re.sub(chara,newchara,data)函数实现,其中chara是需要删除的字符,newchara是删除字符后相应位置的替换字符,data是需要操作的数据。比如下面的代码,指的是删除lines中包含的前面列出的字符,并用空白替换:

2.2 python对多文件的操作

下面的程序中,pathdirpos指的是所有积极评论的txt文件所在的目录,在此指的是“f:\self_learning\机器学习\python\bayes\review_polarity\txt_sentoken\pos”。child就是获得的每个txt文件全名。

2.3 电影评论数据集预处理

下面给出对于电影评论数据集的预处理程序(python3.6).