Python 练习册,每天一个小程序(0004)

详细题目在https://github.com/Yixiaohan/show-me-the-code上。此次是0004题,统计一个英文纯文本文件中单词出现的个数。
总的想法是读文件,将其余字符过滤,使用字典结构来存储结果,最后将结果保存到本地的Excel文件中
参考资料:

xlwt的下载地址为https://pypi.python.org/pypi/xlwt
一篇Python正则表达式的指南http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
一篇python操作Excel读写的博客http://blog.sina.com.cn/s/blog_63f0cfb20100o617.html

# -*- coding: utf-8 -*-
import re
import xlwt

file_addr = 'word.txt'

#使用正则表达式将英文字母外所有字符替换为空格,然后使用split函数将其切割为一个英文单词列表
with open(file_addr, 'r') as file:
    word = re.sub(r'[^a-zA-Z]',' ',unicode(file.read().split()))
    word = word.split()

#将单词变为小写,使用字典来计算单词出现次数
word_dict = {}
for item in word:
    item = item.lower()
    if item not in word_dict:
        word_dict[item] = 1
    else :
        word_dict[item] += 1

#将结果以excel形式升序的保存在本地
workbook = xlwt.Workbook()
sheet = workbook.add_sheet('sheet1')
sheet.write(0,0,'Word')
sheet.write(0,1,'Count')
counter = 1
for temp in sorted(word_dict.keys()):
    sheet.write(counter,1,word_dict[temp])
    sheet.write(counter,0,temp)
    counter += 1
workbook.save('new.xls')
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值