【上市公司文本分析】根据句号和分号进行文本分割,提取含有特定关键词的语句并导出为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')
相关推荐
rainbow6889几秒前
Java17新特性深度解析
java·开发语言·python
肆意飞扬3 分钟前
Python篇:使用conda、pip的一些命令记录
python·conda·pip
说给风听.3 分钟前
拆解蓝桥杯红黑树:无限深度树的奇偶性规律与 Python 实战解法
python·职场和发展·蓝桥杯
星月总相伴9 分钟前
pycharm导包过程中,因为模块不在同一个包中可能会报错的解决问题
python
2401_8414956411 分钟前
【操作系统】存储器管理算法
python·操作系统·存储器管理·连续内存分配算法·非连续内存分配算法·虚拟存储页面置换算法·内存碎片整理与回收算法
ZPC821013 分钟前
机器人手眼标定
人工智能·python·数码相机·算法·机器人
机器学习之心HML14 分钟前
PGA+MKAN+Timexer时间序列预测模型Pytorch架构
人工智能·pytorch·python
查无此人byebye17 分钟前
阿里开源Wan2.2模型全面解析:MoE架构加持,电影级视频生成触手可及
人工智能·pytorch·python·深度学习·架构·开源·音视频
张书名18 分钟前
基于Windows11平台的北理工校园网开机自动连接脚本
python·校园网
果粒蹬i20 分钟前
降维实战:PCA与LDA在sklearn中的实现
人工智能·python·sklearn