原创声明:本文为犇丿灬犇原创文章未经博主允许不得转载。犇丿灬犇博客地址 [犇丿灬犇博客]

接到亲戚的一个任务,读五年级的妹妹在学英语,要我给她的单词表加上音标,看了看任务量下了一跳,现在孩子五年级怎么就要学这么多单词,这要一个一个加得加到猴年马月上,刚好当时在学习python,心想用python编个程序会不会简单一些。
原文件是这样的:

程序代码

程序包括excel文件读写,单词音标库查询等。

#!/usr/bin/python
# -*- coding: UTF-8 -*-
import xlrd
from xlwt import *
import tkinter.filedialog
def create_dict():d = dict() #建立一个空字典f =open("dictionary.txt",mode="r",encoding="utf-16")#打开音标文件,注意读文件的格式my_dict = f.readlines()#读出所有内容my_dict.sort()#排序f.close()#关闭a=1for  line_1 in my_dict :#line_1 = line_1.rstrip("\t\n")#word_1,phonetic = line_1.split("\t",1)word_1 =  word_1.lstrip("\s")word_1 =  word_1.rstrip("\s")phonetic = phonetic.lstrip("\s")phonetic = phonetic.rstrip("\s")#去掉多余的空格和符号if word_1 not in d:d[word_1] = phoneticelse:pass#不进行任何操作return ddef read_xlsx():filenames = tkinter.filedialog.askopenfilenames(filetypes = [('xls files', '.xls'),('xlsx files', '.xlsx'),('all files', '*')])#print(filenames)'''string_filename = ""for i in range(0, len(filenames)):string_filename += str(filenames[i])'''workbook = xlrd.open_workbook(filenames[0])booksheet = workbook.sheet_by_name('Sheet1')p = list()for row in range(booksheet.nrows):row_data = []for col in range(booksheet.ncols):cel = booksheet.cell(row, col)val = cel.valuetry:val = cel.value#val = re.sub(r'\s+', '', val)except:passif type(val) == float:val = int(val)else:val = str(val)row_data.append(val)p.append(row_data)return p
def write_ex(table,i,j,det):table.write(i, j, det)table.col(j).width = 7000
def write_file(file,table,d,One_line,lin):col=0count=1for word_2 in One_line:if word_2!='':if count%2:if word_2 in d:write_ex(table, lin, col, word_2)write_ex(table, lin, col+1, d[word_2])col=col+1else:write_ex(table, lin, col, word_2)col = col + 1else:write_ex(table, lin, col, word_2)col=col+1count=count+1
if __name__ == '__main__':dict=create_dict()raw_data=read_xlsx()file = Workbook(encoding='utf-8')# 指定file以utf-8的格式打开table = file.add_sheet('word')lin=0for One_line in raw_data:write_file(file, table, dict, One_line, lin)lin=lin+1filenames = tkinter.filedialog.asksaveasfilename(title="保存", defaultextension=".xls", initialdir=".",filetypes = [('xls files', '.xls'),('xlsx files', '.xlsx'), ('all files', '*')],initialfile="default1")file.save(filenames)

将python文件编译生成EXE可执行文件

需要安装pyinstaller具体安装步骤见https://blog.csdn.net/u010104435/article/details/71435598
安装完成后执行pyinstaller -F -w文件名.py 语句即可。

效果

如要转载,请保持本文完整,并注明作者犇丿灬犇和本文原始地址: https://blog.csdn.net/qq_16307369/article/details/82222110

[1]https://blog.csdn.net/u010104435/article/details/71435598

[初识python]使用python给单词表加音标相关推荐

  1. python统计单词频率、存放在字典中_Python3实现统计单词表中每个字母出现频率的方法示例...

    本文实例讲述了Python3实现统计单词表中每个字母出现频率的方法.分享给大家供大家参考,具体如下: 作为python字典与数组概念的运用,统计字母表中每个字母出现的频率,作为练习再合适不过. 解决问 ...

  2. python在单词表中查找包含所有元音字母aeiou的单词并打印

    python在单词表中查找包含所有元音字母aeiou的单词并打印 python单词表中查找所有的元音字母aeiou: 方法一: def claen(word):return word.strip(). ...

  3. Python+Flask+MySQL实例——四六级单词表的查询

    Flask实例--四六级单词表查询 这里我们会链接数据库,并用flask达到输入单词,在网页上返回数据库中查询结果的目的. Python文件 from flask import Flask, requ ...

  4. python中3个单引号_Python中单引号,双引号,3个单引号及3个双引号的区别

    单引号和双引号 在Python中我们都知道单引号和双引号都可以用来表示一个字符串,比如 str1 = 'python'str2= "python" str1和str2是没有任何区别 ...

  5. 用python进别人qq_采用python实现简单QQ单用户机器人的方法

    采用python实现简单QQ单用户机器人的方法如下: 一.首先我们查看一下关于3GQQ的相关协议: 对此,打开一个支持WAP的浏览器,可以使用Firefox的wmlbrowser插件,打开FF后,访问 ...

  6. 利用python在网上接单赚钱,兼职也能月入过万,还不赶紧学起来

    看完这篇回答至少给你省去95%找答案的时间. 我觉得python接单我是最有发言权的,从2016年进入大学,我就是一个不安分的学生,总是想着通过自己的技术来实现财富自由. 我崇拜雷军,我觉得雷布斯不仅 ...

  7. [Python/转载]Python 100 Day : 初识Python

    初识Python Python简介 Python的历史 1989年圣诞节:Guido von Rossum开始写Python语言的编译器. 1991年2月:第一个Python编译器(同时也是解释器)诞 ...

  8. python数据结构基础(单链表,多链表,二叉树)

    python数据结构基础(单链表,多链表,二叉树) 数据结构指数据对象中数据元素之间的关系 Python 给我们提供了很多现成的数据结构类型,这些系统自己定义好的,不需要我们自己去定义的数据结构叫做 ...

  9. 【Python】Python的单双引号

    Python真的爽,单双引号的运用太舒服了 在Python中,使用单引号或双引号是没有区别的,都可以用来表示一个字符串 1.单双引号都可以用来表达 输入: print("Hello1&quo ...

  10. 大学入坑Python,靠接单3天赚了一千块,方法让人钦佩

    利用python在网上接单赚钱,兼职也能月入过万 适用人群:上班族,程序员,大学生 学习python编程,不仅可以找一份高薪工作,而且如果不打算转行或者是在校学生的话,也能为你日常生活工作提供一些帮助 ...

最新文章

  1. Windows Storage Server 2008做存储服务器应用案例
  2. 使用Silverlight Toolkit TreeView(树形控件)
  3. select元素的options.add 与 insertbefore的区别
  4. python标准库os的方法_Python中标准库OS的常用方法总结大全
  5. ios AFNetworking 有用篇
  6. 服务降级-启动时检查
  7. 类加载的双亲委派机制
  8. 使用Servlet和Bootstrap上传Ajax文件
  9. java删除换行符号_如何从Java中删除文件中的换行符?
  10. T-SQL 中ON和WHERE的区别
  11. wait() 和 waitpid()
  12. Springboot实现的医院分针挂号住院管理系统
  13. Linux下二进制包安装postgresql10.4
  14. 高通msm8996配置wlan0 Mac地址
  15. composer 无法更新vonder
  16. 如何查看局域网内所有IP
  17. ubuntu下使用命令行查看opencv版本
  18. 阿里网盘rar再打包分享工具
  19. 音频、音频属性-采样精度、比特率、音频格式
  20. 云计算的三国演义!华为云、阿里云、腾讯云B端市场策略全解读

热门文章

  1. 直播内容抢先看|基于 AUTOSAR 技术的 SOA 软件平台实践
  2. Ubuntu 下安装 Vysor投屏软件
  3. 卡尔曼滤波算法-Matlab仿真
  4. 人工智能导论学习笔记
  5. win10无线网卡黄色感叹号
  6. 【定制开发】【M3】基于Python+pygame实现的人机AI对战五子棋游戏(保姆级入门讲解)
  7. 运算服务器v9型号,V9服务器
  8. 10.4. 嗅探工具
  9. DDR4、LPDDR4、LPDDR4x区别及DDR拓展
  10. 2020信工所复试问题回顾与收集