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