Python朗读excel中的英文单词
安装win32com的时候出现了诸多问题,直接贴代码:
1 '''
2 #利用python朗读excel里面的单词
3 '''
4
5 #开始导入所需库
6 import xlrd
7 from bs4 import BeautifulSoup
8 import requests
9 import time
10 import xlsxwriter as wx
11 import win32com.client
12
13 #读取有单词的表格
14 xlsx = xlrd.open_workbook("D:/Python代码素材/excel自动化办公/words.xlsx")
15 table = xlsx.sheets()[0]
16
17 #新建一个excel文件用来存储翻译后的内容
18 dst_wb = wx.Workbook("words_trans.xlsx")
19 worksheet = dst_wb.add_worksheet()
20
21 #
22 for row in range(0, table.nrows):
23 time.sleep(1) #休眠一秒
24 word = table.cell(row, 0).value #开始读取每一列的单词并保存到word里面
25 #指定url
26 url = 'http://www.youdao.com/w/eng/' + word
27
28 #用requests请求网页并以text(文本)返回
29 web_data = requests.get(url).text
30 #用BeautifulSoup解析内容
31 soup = BeautifulSoup(web_data, 'lxml')
32 #获取我们需要的内容
33 meaning = str(soup.select("#phrsListTab > div.trans-contrainer > ul > li")) .replace('li', '').replace('</li>', '')
34 #翻译保存
35 translation = meaning[1:-1]
36 print(word)
37 #写入新excel的单元格
38 worksheet.write(row, 0, word) #在row行第一列写依次写入word
39 worksheet.write(row, 1, translation) #在第row行第二列写入翻译后的字符串
40
41 #关闭工作簿
42 dst_wb.close()
43
44 #调用声音控件
45 speaker = win32com.client.Dispatch('SAPI.SpVoiice')
46 #打开翻译好的文件,也就是要朗读的文件
47 xlsx = xlrd.open_workbook('words_trans.xlsx')
48 table = xlsx.sheets()[0]
49 for row in range(0, table.nrows):
50 time.sleep(1) #开启休眠功能,间隔一秒
51 #读取单元格里的内容
52 word = table.cell(row, 0).value #第row行,第一列
53 #空列表,用以重组word
54 word_segment = []
55 #循环可迭代的word,将单词拆分
56 for i in word:
57 word_segment.append(i) #将循环出来的i依次追加到word_segment末尾
58 word_segment.append("-") #每次循环在末尾追加-
59 word_2 = " " .join(word_segment) #将列表word_segment转换成字符串并存储在word_2里
60 #朗读汉语意思
61 speaker.Speak(str(table.cell(row,0).value))
62 speaker.Speak(str(word_2))
63 speaker.Speak(str(table.cell(row, 0).value))
64 speaker.Speak(str(table.cell(row, 1).value))
Python朗读excel中的英文单词的更多相关文章
- 使用Python将Excel中的数据导入到MySQL
使用Python将Excel中的数据导入到MySQL 工具 Python 2.7 xlrd MySQLdb 安装 Python 对于不同的系统安装方式不同,Windows平台有exe安装包,Ubunt ...
- 用python在excel中读取与生成随机数写入excel中
今天是我第一次发博客,就关于python在excel中的应用作为我的第一篇吧. 具体要求是:在一份已知的excel表格中读取学生的学号与姓名,再将这些数据放到新的excel表中的第一列与第二列,最后再 ...
- Python读取excel中的图片
作为Java程序员,Java自然是最主要的编程语言.但是Java适合完成大型项目,对于平时工作中小的工作任务,需要快速完成,易于修改和调试,使用Java显得很繁琐,需要进行类的设计,打成jar包,出现 ...
- python读取excel中单元格的内容返回的5种类型
(1) 读取单个sheetname的内容. 此部分转自:https://www.cnblogs.com/xxiong1031/p/7069006.html python读取excel中单元格的内容返回 ...
- Python向excel中写入数据的方法 方法简单
最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 xlwt依赖包,安装的方法就很简单,直接 p ...
- python 去除Excel中的重复行数据
导入pandas import pandas as pd 1.读取excel中的数据: frame = pd.DataFrame(pd.read_csv('excel的绝对路径.csv'', 'She ...
- Python读取Excel中的数据并导入到MySQL
""" 功能:将Excel数据导入到MySQL数据库 """ import xlrd import MySQLdb # Open the w ...
- python从excel中读取数据传给其他函数使用
首先安装xlrd库 pip install xlrd 方法1: 表格内容如下: 场景描述,读取该表格A列数据,然后打印出数据 代码何解析如下: import xlrd #引入xlrd库 def exc ...
- python解析excel中图片+提取图片
解析表格是常用的技术.但是有些表各里面有图片怎么办?我想获得表格里面的图片,值得注意的是,图片没有位置信息,所以最好给图片进行编号,编号代表位置. 下面附上提取表格里面图片的代码.只要输出表格地址,和 ...
随机推荐
- DNS系列—DNS简介
DNS是什么? 如果了解互联网主机之间是用IP地址来进行通信的话,有了这个认识的前提,我们来聊一下什么是DNS.一个IP地址有十几个字符那么长,和手机号码长度差不多,我们怎么记住这些我们想要访问的主机 ...
- HHKB Programming Contest 2020 D - Squares 题解(思维)
题目链接 题目大意 给你一个边长为n的正方形和边长为a和b的正方形,要求把边长为a和b的正方形放在长度为n的正方形内,且没有覆盖(可以相邻)求有多少种放法(mod 1e9+7) 题目思路 这个思路不是 ...
- 单例模式与它的七种java实现方式
定义 单例模式是一个比较简单的模式,其定义如下: 确保某一个类只有一个实例,而且自行实例化,并向整个系统提供这个实力. 优点: 1.由于单例模式在内存中只有一个实例,减少了内存开支,特别是一个对象需要 ...
- 关于transition动画效果中,滚动条会闪一下就消失的问题
具体问题说明: 我在通过transition来改变width的长度,在transition变化过程中,底下的滚动条会闪烁一下. 问题原理:因为是里面容器没办法完全被装下,并且容器的宽度被限制住了. 解 ...
- 路由器/交换机Console口登录密码丢失后如何恢复
Console口登录密码丢失后如何恢复 如果忘记了Console口登录密码,用户可以通过以下两种方式来设置新的Console口登录密码. 通过STelnet/Telnet登录路由器/交换机设置新的Co ...
- AndroidStudio中默认不导入org.apache.http等包的解决方法
参考:http://www.cnblogs.com/xiadongqing/p/5942459.html Eclipse ADT中默认引入了org.apache.http包,而AndroidStudi ...
- synchronized的底层原理?
最近更新的XX必备系列适合直接背答案,不深究,不喜勿喷. 你能说简单说一下synchronize吗? 可别真简单一句话就说完了呀~ 参考回答: synchronize是java中的关键字,可以用来修饰 ...
- 第8.34节 《Python类中常用的特殊变量和方法》总结
本章介绍了Python类中常用的特殊变量和方法,这些特殊变量和方法都有特殊的用途,是Python强大功能的基石之一,许多功能非常有Python特色.由于Python中一切皆对象,理解这些特殊变量和方法 ...
- Python正则表达式\W+和\W*匹配过程的深入分析
在学习re.split函数的处理过程中,发现执行如下语句及返回与老猿预想的不一致: >>> re.split('\W*','Hello,world') ['', 'H', 'e', ...
- PyQt(Python+Qt)学习随笔:Designer中ItemViews类部件的frameShadow属性
老猿Python博文目录 老猿Python博客地址 frameShadow属性是从QFrame继承的属性,对应类型为QFrame.Shadow,该属性表示框架提供三维效果的阴影类型,有如下取值: 可以 ...