python提取关键词textrank算法,将数据库中的数据提取出来,然后进行分析,代码如下

import pymysql

import jieba

from textrank4zh import TextRank4Keyword,TextRank4Sentence

import logging

jieba.setLogLevel(logging.INFO)

#消除日志

def get_key_words(text,num=3):

tr4w=TextRank4Keyword()

tr4w.analyze(text,lower=True)

#分析文本

key_words=tr4w.get_keywords(num)

#提取关键词,num是指关键词的个数

return [item.word for item in key_words]

db = pymysql.connect(host='localhost', port=3306, user='root', passwd='root', db='cs', charset='utf8')

#连接数据库

cursor = db.cursor()

#使用cursor方法创建一个游标

sql = "select shuzi from 单位"

cursor.execute(sql)

data = cursor.fetchall()

#fetchall()方法为查询多条数据,fetchone()为查询一条数据

for i in data:

if i[0] != None:

words = get_key_words(i[0])

print(words)

在编写过程中出现了这种错误'NoneType' object has no attribute 'split',在网上找了好长时间为什么会出现这样的错误,错误出现在最后通过循环对数据库中的数据进行提取的时候,我通过这种方法,查看了每条数据的类型,发现在第六条数据类型为NoneType,说明第六条数据为空,所以才会报错

for i in data:

print(type(i[0]))

当遇到为空的数据时候,只要跳过就可以了,所以加了一条判断语句,只有不为空的时候,才执行函数进行关键词提取,最开始使用的是:

for i in data:

if len(i[0])>0:

# if i[0] != None:

words = get_key_words(i[0])

print(words)

出现了如下的错误:TypeError: object of type 'NoneType' has no len()

这就说明这种判断是否为空的方法是错误的,后发现Nonetype类型,其实就是值为None,所以直接判断值就可以了直接可以用:

if i[0] != None:最后错误解决,成功提取了关键词。

python文本关键词提取_python提取文本关键词相关推荐

  1. python文本编码转换_Python: 转换文本编码

    最近在做周报的时候,需要把csv文本中的数据提取出来制作表格后生产图表. 在获取csv文本内容的时候,基本上都是用with open(filename, encoding ='UTF-8') as f ...

  2. python 英文关键词提取_python提取内容关键词的方法

    python怎么提取关键词 import re f = open("D:/xiangmu/python/xiangmu/gjc.txt", "r", encod ...

  3. python获取图片名称_python提取图像的名字*.jpg到txt文本的方法

    如下所示: # -*- coding:utf-8 -*- import sys sys.path.append('E:\\Anaconda\\libs') import os #os:操作系统相关的信 ...

  4. python语句结束符号_Python从文本中提取hashtags;以标点符号结尾

    对于我的编程类,我必须根据以下描述创建一个函数:The parameter is a tweet. This function should return a list containing all ...

  5. python中的结束用语,python语句结束符号_Python从文本中提取hashtags;以标点符号结尾...

    对于我的编程类,我必须根据以下描述创建一个函数:The parameter is a tweet. This function should return a list containing all ...

  6. python空行拼接字符串_python基础---文本和字符串操作

    一.文本操作 打开读取文本 (查) lock_file = open('username_lock.txt', 'r+') #r+ 读写 lock_list =lock_file.readlines( ...

  7. python如何分成两行_python将文本分每两行一组并保存到文件

    业务需求 需要将文本文件分每两行一组 jb51.txt 1:www.jb51.net 2:www.jb51.net 3:www.jb51.net 4:www.jb51.net 5:www.jb51.n ...

  8. python输出文本和值_python读取文本中数据并转化为DataFrame的实例

    在技术问答中看到一个这样的问题,感觉相对比较常见,就单开一篇文章写下来. 从纯文本格式文件 "file_in"中读取数据,格式如下: 需要输出成"file_out&quo ...

  9. python源码提取_Python提取Linux内核源代码的目录结构实现方法

    今天用Python提取了Linux内核源代码的目录树结构,没有怎么写过脚本程序,我居然折腾了2个小时,先是如何枚举出给定目录下的所有文件和文件夹,os.walk可以实现列举,但是os.walk是只给出 ...

最新文章

  1. PHP中spl_autoload_register函数的用法
  2. [Tomcat]Tomcat6和Tomcat7的区别
  3. leetcode算法题--飞机座位分配概率
  4. centos java发送邮件发不出去_传真机发不出传真怎么办 传真机发不出传真解决方法【详解】...
  5. java 匹配mysql按钮_使用Java在mysql查询中设置匹配函数
  6. gridview ashx实现数据更新_Python分析了香港26281套在售二手房数据,结果发现
  7. 判断两颗棵二叉树是否相等
  8. 说一下OFO带给我们的启示
  9. 用大白菜制作linux启动盘制作工具,使用大白菜+FbinstTool制作多系统的启动盘
  10. 人工智能:博弈--人机中国象棋
  11. android金山清理扫描文件动画,[Android开发实战]金山清理大师(猎豹清理大师)一键加速快捷方式动画实现...
  12. Kafka的监控以及运维与Kafka-eagle的安装
  13. 关于数据库账号和密码加密问题
  14. 网安实训(十)| Ms12-020 漏洞复现
  15. 最大岛屿 计蒜客--T1405
  16. (进制转换)—— 十六进制转换
  17. 周鸿祎:论互联网大佬的编程能力,我能排进前三!
  18. 编写Java程序,使用面向接口编程模拟不同动物的吼叫声
  19. 7K7K小游戏《黑客是怎样炼成的》攻略
  20. 英伟达GTX 960M安装anaconda、cuda+cudnn

热门文章

  1. Linux系统克隆和快照
  2. 牛客 - 单链表排序
  3. EEE406 Power System Analysis(学习整理 Week 1)
  4. 怎样选择青少年护眼灯?儿童护眼灯五大品牌推荐
  5. 东北林业大学Acm培训大一(三)(暴力枚举)
  6. 南方电网要的计算机二级吗,考南方电网需要过计算机二级和英语四级么
  7. JDBC访问数据库过程
  8. 麒麟高级服务器版V10 SP1 yum 源 龙芯 loongarch64
  9. leetcode_59. 螺旋矩阵 II
  10. 做程序员你需要明白这九件事