python从简介中获取行业分类

这一部分我是请教的同学完成的这部分内容

其思路是首先从简介中分析获取关键词,这部分在上篇博客中,这里不再详细说明,然后分析数据中已有的关键词和行业的关系,然后分析未知关键词的行业分类

这个方法会让每个关键词都匹配出很多的行业分类,因此我将每条数据匹配出的所有行业分类存入一个列表中,然后得到出现在次数最多的行业分类

行业代码是根据2011版的代码进行的搜索匹配

完整代码如下

import re
import kejichengguo.sql as SQL

def getindustry(trains, datas):
    train_keywords=[]
    train_id=[]
    for train in trains:
        train_keywords.append(train[‘keyword‘])
        train_id.append(train[‘id‘])
    test_keyword=[]
    test_industry=[]
    for data in datas:
        test_keyword.append(data[‘keyword‘])
        test_industry.append(data[‘industry‘])
    num_train=0
    for train_keyword in train_keywords:
        if(train_keyword==None):
            num_train = num_train + 1
            continue
        industry_list = []
        lists = train_keyword.split()
        for list in lists:
            num_i=0
            for test_pi in test_keyword:
                if(test_pi==None):
                    continue
                str1 = re.findall(r""+list+"",test_pi )
                if (len(str1)!=0):
                    ID=train_id[num_train]
                    midID=str(ID)
                    industry_1=test_industry[num_i]
                    industry_2=industry_1.split()
                    for industry_3 in industry_2:
                        industry_list.append(industry_3)
                num_i = num_i + 1
        try:
            industry = max(industry_list[0:20], key=industry_list[0:20].count)
            print(midID, industry)
            SQL.updateindustry(industry, midID)
        except:
            print(midID, industry_list)
        num_train=num_train+1

def getindustrycode(datas):
    num = 0
    for data in datas:
        num_list = ""
        lists = data[‘industry‘].split()
        for list in lists:
            list = list[0:2]
            if list == "新型":
                list = "材料"
            Value_code = SQL.select_industrycode(list)
            if (len(Value_code) > 0):
                num_list = num_list + " " + Value_code[0][‘code‘]
        print(data[‘id‘], data[‘industry‘], num_list)
        SQL.updateindustrycode(num_list, data[‘id‘])
        num = num + 1

if __name__==‘__main__‘:
    # trains= SQL.select_keyword()
    # datas= SQL.select_pi_keyword()
    # getindustry(trains, datas)
    datas = SQL.select_industry()
    getindustrycode(datas)

完整代码

原文地址:https://www.cnblogs.com/yuanxiaochou/p/12495037.html

时间: 2024-08-29 15:51:21

python从简介中获取行业分类的相关文章

python把文件中的邮箱分类 保存到相应的文件里面

python把文件中的邮箱分类 保存到相应的文件里面(测试数据100W数据时间10秒) #coding:utf-8 import time import linecache def readfile(file):     #读取数据     list_dict = {}     file_data =  [ x.replace('\n','') for x in linecache.getlines(file) if '@' in x ]     #把后缀名组成字典中的keys,按照要求把文件中

python从数据库中获取utf8格式的中文数据输出时变成问号或乱码

我用python操作mysql数据库,数据库中数据格式为utf8,我使用python调用select语句后获取到数据库的信息,然后使用print打印出来的时候,原本中文数据却无法显示,显示出来的是一串?,为了解决这个问题,我也是绞尽脑汁啊. 我在网上搜集了很多资料,大家都说是windows默认的格式是'GBK',输出从mysql数据库中获取到的中文数据时,需要这样写: 假设info是从数据库中获取的中文值 print info.decode('UTF-8').encode('GBK') 结果:

Python中获取异常(Exception)信息

异常信息的获取对于程序的调试非常重要,可以有助于快速定位有错误程序语句的位置.下面介绍几种python中获取异常信息的方法,这里获取异常(Exception)信息采用try...except...程序结构.如下所示 try: ... except Exception as e: ... 1.str(e) 返回字符串类型,只给出异常信息,不包括异常信息的类型,如1/0的异常信息 'integer division or modulo by zero' 2.repr(e) 给出较全的异常信息,包括异

python从淘宝ip库中获取公网ip的信息

看到一个题目:  从ip.taobao.com中获取公网ip的信息 分析: 1.生成公网IP地址: 2.根据ip.taobao.com返回的代码,用json解析 下面是淘宝的接口说明 ''' 接口说明 1. 请求接口(GET): http://ip.taobao.com/service/getIpInfo.php?ip=[ip地址字串] 2. 响应信息: (json格式的)国家 .省(自治区或直辖市).市(县).运营商 3. 返回数据格式: {"code":0,"data&q

Python中获取异常(try Exception)信息

异常信息的获取对于程序的调试非常重要,可以有助于快速定位有错误程序语句的位置. 这里获取异常(Exception)信息采用try...except...程序结构.如下所示: try: ... except Exception, e: ...经典例子: import traceback print '########################################################' print "1/0 Exception Info" print '---

python进阶四(类的继承)【4-5 python中获取对象信息】

python中获取对象信息 拿到一个变量,除了用 isinstance() 判断它是否是某种类型的实例外,还有没有别的方法获取到更多的信息呢? 例如,已有定义: 1 class Person(object): 2 def __init__(self, name, gender): 3 self.name = name 4 self.gender = gender 5 6 class Student(Person): 7 def __init__(self, name, gender, score

Python爬虫项目,获取所有网站上的新闻,并保存到数据库中,解析html网页等

1.需求说明 需求: 爬取虎嗅网站的所有新闻,并保存到数据库中. http://www.huxiu.com 技术: 1.爬虫 获取服务器的资源(urllib) 解析html网页(BeautifulSoup) 2.数据库技术 数据库 MySQLdb 业务逻辑的分析: (1).虎嗅网站的新闻,包括首页和分页信息(下一页) (2).需要从首页的资源和分页的资源中获取每个新闻的url连接 如何获取url: 解析网站html文件,如果A标签的href属性包含 article字段,就表示这是一个新闻 (3)

OpenCV Using Python——RGB颜色空间中的统计肤色模型

RGB颜色空间中的统计肤色模型 1. 统计肤色模型简介 前几篇文章提出的参数肤色模型,由于参数值固定,所以来自测试图像集的分割误差有可能很大(不过在光照足够的情况下已经够用了).对于光线比较昏暗的场合,一般人们不太会训练这样的数据来提取参数,同时光照不足时颜色容易跟背景混在一起,所以做出来效果也不好.在光照昏暗的场合,直接在自然光和复杂背景下分割肤色到现在为止依然是比较困难的事.这里讨论的仅仅是单个像素是否为肤色,如果要求在大面积肤色的背景下分割出手或脸来,这种不依赖上下文的方法就完蛋了. 那么

Python统计列表中的重复项出现的次数的方法

前言 在实际工作和学习中,经常会遇到很多重复的数据,但是我们又必须进行统计,所及这里简单介绍一下统计列表中重复项的出现次数的简单方法. 实例 本文实例展示了Python统计列表中的重复项出现的次数的方法,是一个很实用的功能,适合Python初学者学习借鉴.具体方法如下: #方法1: mylist = [1,2,2,2,2,3,3,3,4,4,4,4] myset = set(mylist)  #myset是另外一个列表,里面的内容是mylist里面的无重复 项 for item in myset