【上市公司文本分析】根据句号和分号进行文本分割,提取含有特定关键词的语句并导出为EXCEL

本文介绍了一种基于Python的中文文本分析方法,用于从年报文件中提取含有关键词的语句。方法使用jieba分词库进行中文分词,通过自定义词典提高分词准确性。程序首先读取并预处理文本(统一标点符号、去除换行符),然后按句分割文本并进行分词处理,筛选出包含关键词的语句,最后将结果(股票代码、年份、关键词、语句长度及内容)保存至Excel。该方法适用于批量处理上市公司文本数据,为后续分析提供结构化数据支持。

python 复制代码
import os
import pandas as pd
import jieba
import jieba.analyse
 
item=0 #保存到excel上的行号
fileList=os.listdir('finaltxt')#已提取完毕的txt年报文件目录
fileList.sort()#对年报按文件名进行排序
df=pd.DataFrame(columns=['code','year','sign','keyword','length','sentences'],index=range(1,50000))#预先设置列名,包括股票代码、年报年份、标记、提取出该句子所依据的关键词、文本字符长度、句子,创建50000行的空表,行数可自行估计设定
Dict=['','','']#自行录入关键词词典,注意是英文符号

for i in Dict:
    jieba.add_word(i)# 向jieba内加入这些词语,防止被拆分   
for index,i in enumerate(fileList):  
    name=i[:-4].split('_')#根据txt文件名称进行切分,例如文件名为873833_2023-12-31.txt,name[0]为873833,name[1]为2023-12-31
    with open('finaltxt\\'+i,'r',encoding='utf-8') as f: 
        text=f.read()
        text=text.replace('\n','')#删除换行符
        text=text.replace(';','。')#将分号统一换成句号
        textList=text.split('。') #按句号分割
        #遍历每一句话,进行分词和语句提取
        for i in textList:
        	words=jieba.lcut(i)
            for word in words:
                if word in Dict:#如果识别到有分词结果在关键词词典里,就录入信息
                	#向df里录入信息
                    df['code'][item]=name[0]
                    df['year'][item]=name[1][:4]
                    df['keyword'][item]=word
                    df['length'][item]=len(i)
                    df['sentences'][item]=i
                    item+=1
                    break
                else:
                    continue
        f.close()       
    print(str(index)+'完成')
df.to_excel('result.xlsx')
相关推荐
qq_20815408853 分钟前
瑞树6代流程分析
javascript·python
好运的阿财12 分钟前
大模型热切换功能完整实现指南
人工智能·python·程序人生·开源·ai编程
爱码小白18 分钟前
数据库多表命名的通用规范
数据库·python·mysql
大喵桑丶26 分钟前
ZABBIX7二次开发AI监控数据调取杂记
大数据·人工智能·python
WangJunXiang641 分钟前
Python网络编程
开发语言·网络·python
_下雨天.1 小时前
Python 网络编程
开发语言·网络·python
啦啦啦_99991 小时前
1. 面向对象基础
python
小陈工1 小时前
2026年4月8日技术资讯洞察:边缘AI推理框架竞争白热化,Python后端开发者的机遇与挑战
开发语言·数据库·人工智能·python·微服务·回归
赵药师1 小时前
YOLO中task.py改复杂的模块
python·深度学习·yolo
大飞记Python1 小时前
【2026更新】Python基础学习指南(AI版)——03内置函数
人工智能·python