不会英语的程序员不是好程序员 ?今天小胖给大家推荐一位了不起的号主,他不但python学得好,妹子还把的好,关键的关键,特么英语说的贼溜。
他就是小詹,一名双一流高校在读研究生 ,专研 C++ ,Python ,主要研究图像处理 、计算机视觉和机器学习相关知识 。为了巩固数据结构知识 ,化身 offer 收割机 ,小詹还不定期带你打卡刷 LeetCode ,锻炼编程能力 。同时 ,小詹还是一个有情怀的号主 ,不仅聊技术 ,也聊人生 。总之 ,我是强烈推荐关注小詹的 !
这不,小詹今天教大家自己动手做个有意思的项目——从历年四级英语真题中获取词频最高的 5000 个词汇 ,并进行翻译 !综合用到了爬虫 、数据分析等知识 ,亲爱的读者们不来试试吗 ?
程序介绍
这是一个单词频率统计程序 ,基于python3 ,我将往年真题按照词频排序得到了四级词库 :总结出了 5000 个出现频率极高的单词 。
自动批量收集文件中的英语单词 txt (utf-8)
统计排序保存到本地数据库 voca.db
翻译英文得到中文解释
数据库文件提取得到csv表格
在结合到大量的往年 cet-4 真题库的情况下
本软件成为了考试必备词库
希望大家都能轻松过四级
工作流程
settings.py 配置查询文档
work.py 自动分析数据保存至voca.db数据库文件
translate.py 自动打开数据库调用api翻译单词并保存到数据库里
db2csv.py 将数据库文件转换成csv表格文件
python work.py
python translate.py
python db2csv.py
具体实现
数据 (docx 复杂的文档结构不好用,可以在word里面以txt方式保存)
读入文件拿到所有单词
def _open_file(self,filename):
剔除 常用单词(is am are do……)
def _filter_words(self,raw_words,count=NUMBERS):
计数
from collections
数据库初始化 peewee模块
from peewee
加入单词到数据库
def insert_data(self,words_times):
翻译
#iciba翻译函数
提取所有单词到csv
import csv
收获成果啦
翻译过程
![f7a90b2fae2b1e922e704061c25afb4c.png](https://i-blog.csdnimg.cn/blog_migrate/2be796bd2c6e78ccd6fe19a596b70c9d.jpeg)
出现次数最多的简单词
![0cd7a077da3b18783f43ff20f83e48b8.png](https://i-blog.csdnimg.cn/blog_migrate/c167312bc5e4f63d9e52866640f9fbdc.jpeg)
出现次数较少,值得一背的词
![b27f204a3baf433c4ce88654336f3414.png](https://i-blog.csdnimg.cn/blog_migrate/5f7d44738064b1796d40d3b45ac24eaa.jpeg)
上述完整代码和获取到的统计结果(5000个高频词)分享到公号【小詹学python】,公号后台回复关键词 “四级” 即可获取 。最后 ,小詹只想说 so 因吹斯听~