正则表达式判断企业行业属于哪一个

import re
import pandas as pd
from openpyxl import Workbook

# 读取原始数据文件
df = pd.read_excel(r'your_file_path', sheet_name='Sheet1')

# 定义产业集群的关键词
industries_keywords = {
    '生物医药产业集群': [
        '化学创新药', '全新剂型', '高端制剂', '现代中药', '先进制药设备',
        '数字化医疗', '基因治疗', '工程细胞', '抗体工程', '人工智能辅助药物设计'
    ],
    '海洋产业集群': [
        '海洋交通运输', '滨海旅游', '海洋能源', '海洋矿产', '海洋渔业',
        '海洋工程', '海洋装备', '海洋电子信息', '海洋生物医药', '海洋现代服务'
    ]
}

# 遍历原始数据每一行
for i, row in df.iterrows():
    company_name, business_scope = row['企业名称'], row['经营范围']
    industry_label = None

    # 判断该行数据属于哪个产业集群
    for label, keyword_list in industries_keywords.items():
        for keyword in keyword_list:
            if re.search(r'.*{}.*'.format(keyword), business_scope):
                industry_label = label
                break
        if industry_label is not None:
            break

    # 将符合条件的行写入结果表格,并标记所属产业集群
    if industry_label is not None:
        df.loc[i, '行业'] = industry_label

# 保存结果表格
with pd.ExcelWriter('output.xlsx') as writer:
    df.to_excel(writer, index=False)

re.search(r'.*{}.*'.format(keyword), business_scope)

这一部分使用正则表达式匹配企业“经营范围”列数据中是否出现了关键词,满足条件即判定成功。在匹配时加上 .* 是为了允许关键词前后有其他字符穿插。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值