当前位置:   article > 正文

Python课程设计:文本处理_完善程序:一个文本文件sample.txt,其内容包含小写字母和大写字母。请将该文件复制

完善程序:一个文本文件sample.txt,其内容包含小写字母和大写字母。请将该文件复制

test题目:

  1. 有一个文本文件sample.txt,其内容包含小写字母和大写字母。请将该文件复制到另一文件sample_copy.txt,并将原文件中的小写字母全部转换为大写字母,其余格式均不变。
  2. 统计上述转换后的文本26个大写字母的个数,按个数从大到小排序,并绘制条形图。

代码如下:

注意:需要自己先创建两个文本文件sample.txt和sample_copy.txt,具体内容自己编辑。

test1:

  1. text1 = open("sample.txt")
  2. file = text1.readlines()
  3. text2 = open("sample_copy.txt", 'w')
  4. for line in file:
  5. text2.write(line.upper())
  6. text1.close()
  7. text2.close()
  8. print("转换成功!")

test2:

  1. import re
  2. import operator
  3. import matplotlib.pyplot as plt
  4. import matplotlib as mpl
  5. with open('sample_copy.txt') as f:
  6. text = f.read()
  7. geshu = len(re.findall(r'[A-Z]', text))
  8. # 找到所有相匹配的大写字母,并计算长度
  9. print('大写字母的个数为:%d个' % geshu)
  10. def count(string):
  11. order = {}
  12. # 先设置一个空的字典
  13. for i in string:
  14. order[i] = order.get(i, 0) + 1
  15. # 进行一波循环,添加键i,其值循环+1
  16. order = sorted(order.items(), key=operator.itemgetter(1), reverse=True)
  17. # 使用items()进行遍历一波,然后根据第二个键,也就是出现的次数进行排序(reverse = True 为降序排列)
  18. return order
  19. print('按从大到小顺序的列表为:', count(text))
  20. # 绘制条形图
  21. # 设置一波默认字体,怎么说
  22. fonts1 = mpl.font_manager.FontProperties(fname='SimHei.ttf', size=18)
  23. fonts2 = mpl.font_manager.FontProperties(fname='SimHei.ttf', size=15)
  24. # 此处是鼠鼠自己设置的字体,如果没有这个字体文件,可以选择注释掉
  25. string = dict(count(text))
  26. plot = plt.bar(range(len(string)), list(string.values()), align='center')
  27. plt.xticks(range(len(string)), list(string.keys()))
  28. for value in plot:
  29. height = value.get_height()
  30. plt.text(value.get_x() + value.get_width()/2, height, '%d' % int(height), ha='center', va='bottom')
  31. # ha='center' 水平居中, va='bottom' 在上方,就是将数据放在中上方
  32. plt.title('文本中大写子母出现次数条形统计图', fontproperties=fonts2)
  33. plt.xlabel("大写字母", fontproperties=fonts1)
  34. plt.ylabel("出现次数", fontproperties=fonts1)
  35. plt.show()

运行结果:

希望大家多多点赞支持哈!

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/640815
推荐阅读
相关标签
  

闽ICP备14008679号