【上市公司文本分析】根据句号和分号进行文本分割,提取含有特定关键词的语句并导出为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')
相关推荐
万邦科技Lafite9 小时前
京东按图搜索京东商品(拍立淘) API (.jd.item_search_img)快速抓取数据
开发语言·前端·数据库·python·电商开放平台·京东开放平台
丁浩66610 小时前
Python机器学习---6.集成学习与随机森林
python·随机森林·机器学习
charlie11451419111 小时前
现代 Python 学习笔记:Statements & Syntax
笔记·python·学习·教程·基础·现代python·python3.13
麦麦大数据13 小时前
F036 vue+flask中医热性药知识图谱可视化系统vue+flask+echarts+mysql
vue.js·python·mysql·flask·可视化·中医中药
移远通信14 小时前
MQTT协议:物联网时代的通信革命
python·物联网·网络协议
Amo Xiang14 小时前
JavaScript逆向与爬虫实战——基础篇(css反爬之动态字体实现原理及绕过)
爬虫·python·js逆向·动态字体
编程让世界美好14 小时前
选手评分问题(python)
python
技术钱14 小时前
vue3前端解析excel文件
前端·vue.js·excel
java1234_小锋14 小时前
PyTorch2 Python深度学习 - PyTorch2安装与环境配置
开发语言·python·深度学习·pytorch2
CClaris14 小时前
深度学习——反向传播的本质
人工智能·python·深度学习