pycharm在百度帖吧帕图代码_垃圾文本识别项目中的基本操作指南和代码错误分析,第一部分

1.库文件导入

用到的库:pandas、jieba、re。

Pycharm操作步骤:

1a79b32461175c55900dd9cb1cdf615b.png

会看到以下界面:

18010c45aa34af72143ed56478bd64a7.png

这个是为我们项目添加库文件的,我们添加后,库文件会导入项目文件目录里面。Packge为包名,Version是版本,我们默认有pip和setuptools两个库,我们不用管就行。但在接下来的代码中,我们要用到pandas函数和jieba函数,需要导入新的库。

方法是点击右上角的加号。

97c5a5bebf427d390c3786f66b4e89cf.png

在新建包的窗口中,我们在上面的搜索框输入“pandas"然后搜索,搜到后直接点左下角的Install Packge就可以了。

2.代码编写

上面只是导入了库,但对于每一个新建的Python File,我们还要在前面引用库文件。

在写下

import pandas as pdimport reimport jieba

这三行代码后,Pytharm会显示这种提示:

df9f4c94a2c59dd481e9dc250bb25f38.png

提示,提示我们库文件未应用,意思是我们引入了这三个库,但在下面的代码中却没有使用。

注意我们这是先写库文件,此处我们已经知道我们要用到这三个库,只不过代码还没来得及写。如果我们先写库文件里的函数,再写库文件引用的话,就不会出现这个提示了。


在引入原始数据的csv文件后,我们想查看一下这个原始文件,但不能在代码中添加输出之类的代码,因为这样会增加程序复杂性。怎么做呢,这里需要用到Python Console功能。

Python Console叫做Python控制台,即Python交互模式。左边的Terminal叫做终端,即命令行模式。

Python交互模式主要有两种:CPython用>>>作为提示符,而IPython用In [序号]:作为提示符。

062bc7da7ec32f75f7c19e0edb88aff7.png

可以根据最下面的>>>看到我们用的是CPython交互模式。

Python交互式模式可以直接输入代码,然后执行,并立刻得到结果,因此Python交互模式主要是为了调试Python代码用的。

Terminal命令行模式与系统的CMD(命令提示符)一样,可以运行各种系统命令。

data = pd.read_csv('message80W1.csv', header=None, index_col=0)

这行代码写进交互窗口后,如果你已经把原文件导入项目目录,就不会报错,然后交互器会进入待输入模式。

91677b2d8547d5602eaf2162e270bb73.png

如果我们想查看这个读取的文件是否被正确储存到data变量里边,就可以在交互器下直接输入data来查看。

1ad4e9ce5309f88f11d8423ae4d95ce5.png

注意在此处我们已经把原文件的题目设置为none,第零列为行索引。

我在输入的时候没有注意到空格,也就是缩进,这时就会爆出这样的错误:

c18356536c1149457fa97b3ecf72370e.png

编译器会提示意外缩进,所以说Python和c的差别是很大的, C语言在理论上可以无视缩进,但Python的缩进也是Python的语法之一,意外的缩进都会报错。

c76942c35b46ec3ddd50a4e2d1ab10e8.png

去除敏感词操作,也就是去除”X"序列。

此处调用了结巴分词。输出文件为data_cut;

bb02641ea9978314160b46630171be09.png

然后进行导入自定义停用词操作,其中包含编码设置,分隔符设置,标题设置。

在进行添加文件中的停用词时,在此却出现了错误:

878a0a0be44de9b99c19745a2307bc91.png

根据提示you can avoid this warning by specifying engine='python'.添加“engine='Python'”后,问题仍然不能解决,但是没有了上面的提示,并提示大意为“正则表达式、停用词”的报错,抱着试一试的态度删除了停用词设置。结果仍然提示错误。

我和我的小伙伴尝试了更改编码方式、改变停用词、重装pandas库等方法,都没有解决,去百度也查不到解决办法,最终只能不了了之。

再往下的代码就一帆风顺,成功的输出了adata

7c680f2d33840bd8224172c6b6bd4ffc.png

数据处理部分的最后一步,函数包装。

函数封装无非就是把源文件'message80W1.csv'替换成形参,但形参的默认值还是'message80W1.csv'文件。

然后返回值是adata,data_after_stop,labes这三个。

注意我们在进行def函数声明之后,往下的代码都是函数的内部,但是def函数声明和下面的代码都没有缩进。函数内部代码缩进应该比函数声明多。我们需要把下面的代码全部缩进。

这里用到了Pycharm的统一缩进快捷键tab;

abc4147147373f55fe65de50205f3e58.png

最后注意函数声明之后要加入引号。

339c90aaec05dcdaca04c3d11552a95b.png

奇怪的是,我们单个的在控制台输入添加文件提供词时会报错,但将整个封装之后的代码全部输入控制台,却成功的编译,我实在想不出这是什么原因。


在该部分的代码写完之后,我发现最前面的三个import引用发生了变化:我们没有引用前面的三个库文件时,这些库文件的字体是灰色的,但在引用这些库文件里面的函数之后,这些库文件的字体就变成了亮白色。也不会再出现像最前面那种提示库文件没有引用的错误了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值