统计书中单词出现次数, 然后把数据生成pdf
#/usr/bin/env python
# *-*coding:utf-8 *-*
#运行环境python3用Counter统计书中单词的使用次数
import sys
from collections import Counter
#参照python基础教程使用lines 和blocks生成文本块
#
def lines(filee):
for line in filee:
yield line
yield '\n'
def blocks(filee):
block = []
for line in lines(filee):
if line.strip():
block.append(line)
elif block:
yield ''.join(block).strip()
block = []
#old_add_new将初始字典的单词计数键值和每个块counter返回的字典相加得到新的键值
def old_add_new(new_dict, old_dict):
for key in new_dict:
try:
new_value = new_dict[key]+old_dict[key]
old_dict[key] = new_value
except KeyError:
old_dict[key] = new_dict[key]
return old_dict
#初始字典
Total = {}
#处理文件输出
def handler(filee):
for block in blocks(filee):
block = block.split()
counter = Counter(block)
old_add_new(counter, Total)
for word, number in (Counter(Total).most_common(100)):
print(word, number)
handler(sys.stdin)
#命令行输入 $: python counter.py <input-text.txt> out-text.txt
"""-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------"""
#把统计的数据生成pdf
#/usr/bin/env python
# *-*coding:utf-8 *-*
"""
把书中单词数据制作成pdf
"""
from reportlab.lib.styles import getSampleStyleSheet
from reportlab.platypus import *
from reportlab.lib import colors
#对象容器
elements = []
#列表样式
styles = getSampleStyleSheet()
#设置文件标题
doc_title = SimpleDocTemplate('Words Times')
#添加表格的标题文字, 风格为Title
elements.append(Paragraph('Number of times the word appears in the book', styles['Title']))
#创建二维数据表格
filepath = '~/janeoutput.txt'
data = [['BookName', 'Jane Eyre']]
with open(filepath) as files:
for line in files:
data.append(line.split())
data.append(['End!', 'End!'])
#print(data)
#设置表格风格 字体对齐方式 网格以及划线
ts = [('ALIGN', (1,1), (-1,-1), 'CENTER'),
('LINEABOVE', (0,0), (-1,0), 1, colors.yellow),
('LINEBELOW', (0,0), (-1,0), 1, colors.green),
('FONT', (0,0), (-1,0), 'Times-Bold'),
#下三行设置
('LINEABOVE', (0,-1), (-1,-1), 1, colors.blue),
('LINEBELOW', (0,-1), (-1,-1), 0.5, colors.black, 1, None, None, 4,1),
('LINEBELOW', (0,-1), (-1,-1), 1, colors.black),
('FONT', (0,-1), (-1,-1), 'Times-Bold')]
#将数据和风格添加到Table中创建Table对象, 将Table对象加入到elements中
table = Table(data, style= ts)
elements.append(table)
#创建图像
doc_title.build(elements)
统计书中单词出现次数, 然后把数据生成pdf相关推荐
- python中统计单词出现的次数_python统计文章中单词出现次数实例
python统计单词出现次数 做单词词频统计,用字典无疑是最合适的数据类型,单词作为字典的key, 单词出现的次数作为字典的 value,很方便地就记录好了每个单词的频率,字典很像我们的电话本,每个名 ...
- python中统计各个单词出现的次数使用方法_python统计文章中单词出现次数实例
python统计单词出现次数 做单词词频统计,用字典无疑是最合适的数据类型,单词作为字典的key, 单词出现的次数作为字典的 value,很方便地就记录好了每个单词的频率,字典很像我们的电话本,每个名 ...
- python统计文本中单词出现次数
任一个英文的纯文本文件,统计其中的单词出现的个数,其实就是考察re的运用,代码: #-*-coding:utf-8-*- import redef count_words(file_path):wit ...
- python编程:统计文件中单词出现次数
f=open("2.txt",'r')ll=f.read()'''将空格都取代为逗号,方便后面的split()'''ll=ll.replace(" ",',') ...
- python统计单词出现次数最多的5个单词_【Python】统计文本中单词的出现次数前十的单词...
代码: # 读取一个文本,并且统计文本中单词的出现次数 def read_file(): # 在windows环境中的编码问题,指定utf-8 with open('F:/python源码/实验区/0 ...
- python统计句子中单词个数_【python统计单词数量】作文写作问答 - 归教作文网
如何用python统计一个txt文件中某个单词出现的次数 1.首先,定义一个变量,保存要统计的英文文章. 2.接着,定义两个数组,保存文章中的单词,以及各单词的词频. 3.从文章中分割出所有的单词,保 ...
- python单词个数统计_Python 统计文本中单词的个数
1.读文件,通过正则匹配 def statisticWord(): line_number = 0 words_dict = {} with open (r'D:\test\test.txt',enc ...
- python统计有几个单词_统计文件中单词的个数---Shell及python版
最近在看shell中有个题目为统计单词的个数,使用了awk功能,代码如下 #!/bin/bash if [ $# -ne ];then echo "Usage:basename $0 fil ...
- c语言统计输入文本不同字母单词数,统计文本中单词的个数
㈠ 统计一行文本的单词个数:输入一行字符,统计其中单词的个数.个单词之间用空格分隔,空格数可以是多个, 代码部分: #include int main() { int count=0; char te ...
最新文章
- 求有多少个数是这个数的约数
- Java浮点值拒绝服务漏洞危害分析
- 当我学完Python我学了些什么
- .NET程序员走向高端必读书单汇总
- (一)uboot的移植与制作
- [Dynamic Language] Python os
- TensorFlow:曼德布洛特(Mandelbrot)集合
- 基于余弦相似性的指纹匹配算法在WIFI室内定位上的应用(转)
- 第4讲 The Zend Framework MVC Architecture
- 清除电脑多余垃圾--清除垃圾.bat文件 附保姆级操作步骤
- php使用grpc(windows环境下)
- android 联机游戏平台,游聚平台/街机平台/主机联网/街机对战平台/网络街机
- 华为虚拟机服务器怎么使用教程,虚拟机装服务器教程
- 使用distpicker的简单测试页面
- Linux第五次学习笔记
- 利用matlab的SPM12功能核磁共振成像数据处理_Auditory fMRI data(二)
- 程序猿从不缺对象,想要随时可以new出来一个
- Python 从文件in162.txt中连续读入10个以磅为单位的重量值
- 十二星座匹配对象_12星座的最佳配对对象
- 内存条玄学之四槽插满就这么难么?
热门文章
- javaWEB(EL+JSTL实现购物车)
- Boss来了的条幅动画
- 视频编解码优化的几个概念
- JavaScript学习笔记(四)---闭包、递归、柯里化函数、继承、深浅拷贝、设计模式
- 防儿童高楼坠落 防护栏与安防设备齐上阵
- BCD和十进制互相转换——C实现
- OPPO可可软件商店推“免流量”下载活动
- 【FreeSwitch开发实践】死锁问题解决Over Session Limit 1000/Locked, Waiting on external entities
- 解决CentOS虚拟机开机黑屏卡死问题
- IT小常识---局域网---互联网---计算机