Python简单词频统计以及格式合并实现
来源:互联网 发布:linux控制台切换 编辑:程序博客网 时间:2024/05/17 14:15
用到的模块: xlrd
运用到:字典dict列表list 读表格,
最后得到文件: txt
感言: 代码较简单, 实现的方法局限性较大. 希望大家一起指点交流, 谢谢.
词频统计:
有关素材:
代码如下:
( (相关注释和想法大都写在旁边的备注里了))
import xlrd#定义读取指定列数据的函数, 并返回列表datadef readxls_bycol(path,colnum): xl = xlrd.open_workbook(path) table = xl.sheets()[0] data =list(table.col_values(colnum)) print(data) return data#定义统计传入列表词频的函数. 并返回已经降序好的字典word_sortdef count_words(data): word_list = [] word_dict = {} for i in data : word_list.extend(i.split('/')) # i.split('/')表示每个i元素按照/分割,放到单独一个小列表中, 这些i列表的集合用extend追加进word_list word_set=set(word_list) for x in word_set: #set 去重 num =word_list.count(x) #循环set里的词,在list里边数个数 word_dict[x] = num #x为dict的key, num 为字典的value word_sort = sorted(word_dict.items(), key=lambda d: d[1] , reverse = True) #排序字典,True为降序 #print(word_sort) #print括号省了会出错...(蠢 return word_sort #定义将字典写入指定txt文件的函数 def putdata_intotxt(word_sort,path): #传入已经排序好的字典 i=0 with open(path,'w') as f : while i<len(word_sort): f.write(str(word_sort[i][0])+'\t\t'+ str(word_sort[i][1])+'\n') i+=1 def main(): path_xls ='材料1.xlsx' path_journal ='期刊词频.txt' path_keywrds ='关键词词频.txt' colnum_C=2 colnum_D=3 data_journal= readxls_bycol(path_xls,colnum_D) sort_jounal = count_words(data_journal) putdata_intotxt(sort_jounal,path_journal) #分别调用函数 写好txt data_keywrds= readxls_bycol(path_xls,colnum_C) sort_keywrds = count_words(data_keywrds) putdata_intotxt(sort_keywrds,path_keywrds)if __name__=='__main__': main() print('期刊词频&关键词词频都已经统计好啦,快去文件夹查看吧!XP')
格式合并
用到的模块: xlrd
运用到:字典dict列表list 读表格,
最后得到文件: txt
代码如下:
( (相关注释和想法大都写在旁边的备注里了))
import xlrd#读取表格全部数据,返回列表datadef readxls(path,colnum): xl = xlrd.open_workbook(path) table = xl.sheets()[0] data = [] for i in range(0,table.nrows): data.append(list(table.row_values(i))) return data#将传入的列表data(二维列表),作者相同的一行"合并"实质用另一个列表mrg来接,返回mrg def merge_data(data): i=0 mrg=[] if len(data)<0: print('没有获取到表格数据') for i in range(len(data)): if i==len(data)-1: mrg.append(data[i]) break elif data[i][0] == data[i+1][0]: data[i+1][2] = data[i][2] + ';'+ data[i+1][2] #将上头的作者copy到下一栏 else: mrg.append(data[i]) #下一行和此行ID不同就可以把此行存进mrg了 return mrg#将合并好的列表,传入,def putdata_intotxt(data,path): i=0 with open(path,'w') as f : while i<len(data): f.write(data[i][0]+'\t'+ data[i][1]+ '\t' + data[i][2] + '\n') i+=1 def main(): path_xls='材料2.xlsx' path_mrg='合并结果.txt' data_xls = readxls(path_xls,2) mrg = merge_data(data_xls) putdata_intotxt(mrg,path_mrg)if __name__ == '__main__': main() print('同篇目的作者合并已经做好啦!快打开txt看看吧XP')
0 0
- Python简单词频统计以及格式合并实现
- python代码简单实现一个词频统计
- Java简单实现汉语词频统计
- Python实现中文小说词频统计
- 使用Python+NLTK实现英文单词词频统计
- 统计文章词频(python实现)
- 使用Python+NLTK实现英文单词词频统计
- python 统计词频
- python统计汉字词频
- python 统计词频
- python统计文档词频
- Python新闻联播词频统计
- python词频统计
- Python 中的词频统计
- 【python技能】词频统计
- 词频统计python
- Python进行词频统计
- Golang实现词频统计
- SDKD 2017 Spring Team Training B H题Pair: normal and paranormal or URAL
- 多个控件横向或纵向排列用的时候,根据业务需求调整UI间距问题。
- Poj3278 BFS Catch That Cow
- 知识总结之 工厂模式
- end()
- Python简单词频统计以及格式合并实现
- 全球首款飞行汽车将发布 人类多年梦想即将实现
- 动态规划-电路布线问题
- 腾讯免费DV证书Nginx配置https
- Struts拦截器-配置及简单应用示例-ssh项目
- 【LeetCode】查找数组系列
- jquery方法:text()、val()、html()区别
- 网页常见功能,超出宽度,省略号代替
- Angular开发(三)-关于属性绑定与事件绑定