目录

  • 添词、计数
  • 特定章节选取

添词、计数

import os
import re
import time
import math
import openpyxl
import fitz
import jieba
import jieba.analyse
from collections import Counter
'''
使用Python操作PDF:常用PDF库总结 - 知乎
https://zhuanlan.zhihu.com/p/352722932
'''
def pdr_reader(file):doc = fitz.open(file)content=''for page in doc:text = page.get_text()content=content+textreturn content
def keyword_count(content,words):raw_list = jieba.lcut(content)counts = {}for word in raw_list:if word in words:counts[word] = counts.get(word, 0) + 1return counts
def count_sum(counts):count1 = 0count2 = 0for key in counts:count1 += 1count2 += counts.get(key, 0)return [count1,count2]
file=r"E:\Alark\Desktop\数字化关键词.txt"
f=open(file,'r',encoding='utf-8')
requests=re.compile(r'\w*[\u4e00-\u9fa5]*、',re.S)
words=[]
result=re.finditer(requests,f.read())
for p in result:tmp=re.sub("、",'',p.group(0))words.append(tmp)
f.close()
for word in words:jieba.add_word(word)
#########
mywb = openpyxl.load_workbook(r'G:\词频统计.xlsx')
mysheet = mywb.active
row=0
list=[]
for r in mysheet.rows:if r[0].value!=None:row+=1list.append((r[0].value,r[1].value))if mysheet['A'+str(row+1)]==None:break
input=r'G:\年报'
order=0
for i in range(0,6):path=input+'\\'+str(2015+i)+'\\'+"制造"os.chdir(path)for file in os.listdir():if os.path.splitext(file)[1]=='.pdf':print(str(order+1)+'、'+file+':processing......')t1=time.monotonic()code=os.path.splitext(file)[0][:6]if (code,2015+i) in list:order+=1print(str(order) + '、' + file + ': is already there.')else:year=2015+icontent = pdr_reader(file)counts = keyword_count(content)[count1,count2]=count_sum(counts)values=[code,year,count1,count2,math.log(count1+1,math.e),math.log(count2+1,math.e),1]row += 1order+=1list.append((code,year))for j in range(0,7):mysheet.cell(row=row, column=j+1, value=values[j])t2 = time.monotonic()print(str(order) + '、' + file + ':done.',str(t2-t1)+'s')mywb.save(r'G:\词频统计.xlsx')path = input + '\\' + str(2015 + i) + '\\' + "其他"os.chdir(path)for file in os.listdir():if os.path.splitext(file)[1]=='.pdf':print(str(row+1)+'、'+file+':processing......')t1 = time.monotonic()code=os.path.splitext(file)[0][:6]if (code,2015+i) in list:order+=1print(str(order) + '、' + file + ': is already there.')else:year=2015+icontent = pdr_reader(file)counts = keyword_count(content)[count1,count2]=count_sum(counts)values=[code,year,count1,count2,math.log(count1+1,math.e),math.log(count2+1,math.e),0]order+=1row += 1list.append((code, year))for j in range(0,7):mysheet.cell(row=row, column=j+1, value=values[j])t2 = time.monotonic()print(str(row) + '、' + file + ':done.',str(t2-t1)+'s')mywb.save(r'G:\词频统计.xlsx')
mywb.save(r'G:\词频统计.xlsx')

特定章节选取

确定成功提取内容是关键
思路:返回最大中文片段==标题

年报文本分析:jieba词频统计相关推荐

  1. 文本分析 | 年报转换TXT关键词频统计

    前言 上篇文章<[爬虫]30行代码轻松爬取全部A股公司年报>介绍了如何爬取2003-2019年A股全部年报,但是爬取的年报都是PDF格式,不能直接用于文本分析,需要先转换为TXT格式.因此 ...

  2. python jieba词频统计英文文本_python实战,中文自然语言处理,应用jieba库来统计文本词频...

    模块介绍 安装:pip install jieba 即可 jieba库,主要用于中文文本内容的分词,它有3种分词方法: 1. 精确模式, 试图将句子最精确地切开,适合文本分析: 2. 全模式,把句子中 ...

  3. python文本词频统计是字典吗_【python】文章、文本内容做词频统计(使用jieba分词,添加自定义字典)...

    使用python可以轻松统计词频,做文章的词频统计也是轻而易举的事情. 1.添加自定义字典(如:超级赛亚人.奥里给等) 2.jieba分词 PS:直接将文章丢进 tf.txt 文件里,将自定义字典丢进 ...

  4. python词频统计完整步骤_Python中文文本分词、词频统计、词云绘制

    本文主要从中文文本分词.词频统计.词云绘制方面介绍Python中文文本分词的使用.会使用到的中文文本处理包包括:wordcloud,jieba,re(正则表达式),collections. 1 准备工 ...

  5. Python数据挖掘-NLTK文本分析+jieba中文文本挖掘

    一.NLTK介绍及安装 (注:更多资源及软件请W信关注"学娱汇聚门") 1.1 NLTK安装 NLTK的全称是natural language toolkit,是一套基于pytho ...

  6. vscode python jieba 词频统计

    用到了几个库 import re # 正则表达式库 import collections # 词频统计库 import jieba # 结巴分词 用之前在命令行执行:pip install 库名称.现 ...

  7. 文本分析4-词频统计与词云展示

    笔记来自课程:玩转文本挖掘(51ct0学院),总结整理为个人学习.复习使用,供参考. 对小说第一章进行分词 首先重复之前的操作,读文本数据–章节标识–选取第一章–分词 读取并选取第一章 import ...

  8. jieba词频统计、关键词提取、词云图制作

    1.jieba分词及词频统计 import jieba import pandas as pd# 加载自定义分词词典(txt内容格式:自定义关键词+空格+空格 ----->换行继续) jieba ...

  9. 文本分析--jieba中文分词

    分词技术可以分为英文分词和中文分词:       对于英文分词而言,由于英文单词之间以空格来分隔,所以在进行英文分词的过程中,只需要针对空格进行划分就可以了.       对于中文分词而言,中文单词之 ...

  10. python处理Excel Pandas xlwings numpy, jupyter,docx,jieba 词频统计 flash

    # 批量创建Excel import xlwings # xw.App(visible=True,add_book=True) 会打开Excel,且不会自动关闭 # xw.App(visible=Tr ...

最新文章

  1. 高性能计时器Timer的设计(时间轮和时间堆两种方式)
  2. H5地理定位获取用户当前位置、城市
  3. Shape Drawable Xml的background
  4. C++rat maze老鼠迷宫算法(附完整源码)
  5. Windows 7 下 Node.js 连接 Oracle
  6. 去银行存款,银行打印错日期,到期之后才发现,利息该怎么算?
  7. 【C语言】数组和指针相关 * 和 总结大全
  8. (计算机组成原理)第五章中央处理器-第三节2:CPU专用数据通路
  9. MyBatis日志插件:Mybatis Log Plugin——将控制台输出的mybatis日志转化成可执行的sql语句
  10. RTOS原理与实现09:事件标志组实现
  11. 最惊艳你的短句是什么?
  12. java设置环境变量jre_JRE环境变量配置图解
  13. word 批量把参考文献的交叉引用变成上标形式
  14. Unity3D学习笔记(1)编辑器概括
  15. 【无标题】2021年烷基化工艺证考试及烷基化工艺操作证考试
  16. 阿里云邮箱25端口被关闭,改用465端口Java发送邮件
  17. Matlab设计简易计算器
  18. Maven中scope标签详解
  19. 网工必须了解的华为华三设备基础命令行与WEB界面
  20. Lucas定理与大组合数的取模的求法总结

热门文章

  1. openlayer 图层上下_OpenLayers 之 图层(Layers) 详解
  2. 范浩强平衡树(FHQ_Treap)介绍
  3. Eclipse常用快捷键
  4. 史上最全编程语言列表,你掌握了哪些?
  5. isilon SMB 控制允许IP访问
  6. Python Scrapy爬虫框架详解
  7. C 语言绝对值函数abs实现技巧
  8. LSB算法的扩展延伸
  9. Word处理控件Aspose.Words功能演示:在C#中将DOC或DOCX转换为HTML
  10. 威海市第四届ACM大赛感想