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

    参考资料:
    一篇Python正则表达式的指南http://www.cnblogs.com/huxi/archive/2010/07/04/1771073.html
    一篇python操作Excel读写的博客http://blog.sina.com.cn/s/blog_63f0cfb20100o617.html

    1. # -*- coding: utf-8 -*-
    2. import re
    3. import xlwt
    4. file_addr = 'word.txt'
    5. #使用正则表达式将英文字母外所有字符替换为空格,然后使用split函数将其切割为一个英文单词列表
    6. with open(file_addr, 'r') as file:
    7. word = re.sub(r'[^a-zA-Z]',' ',unicode(file.read().split()))
    8. word = word.split()
    9. #将单词变为小写,使用字典来计算单词出现次数
    10. word_dict = {}
    11. for item in word:
    12. item = item.lower()
    13. if item not in word_dict:
    14. word_dict[item] = 1
    15. else :
    16. word_dict[item] += 1
    17. #将结果以excel形式升序的保存在本地
    18. workbook = xlwt.Workbook()
    19. sheet = workbook.add_sheet('sheet1')
    20. sheet.write(0,0,'Word')
    21. sheet.write(0,1,'Count')
    22. counter = 1
    23. for temp in sorted(word_dict.keys()):
    24. sheet.write(counter,1,word_dict[temp])
    25. sheet.write(counter,0,temp)
    26. counter += 1
    27. workbook.save('new.xls')