安装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中的英文单词的更多相关文章

  1. 使用Python将Excel中的数据导入到MySQL

    使用Python将Excel中的数据导入到MySQL 工具 Python 2.7 xlrd MySQLdb 安装 Python 对于不同的系统安装方式不同,Windows平台有exe安装包,Ubunt ...

  2. 用python在excel中读取与生成随机数写入excel中

    今天是我第一次发博客,就关于python在excel中的应用作为我的第一篇吧. 具体要求是:在一份已知的excel表格中读取学生的学号与姓名,再将这些数据放到新的excel表中的第一列与第二列,最后再 ...

  3. Python读取excel中的图片

    作为Java程序员,Java自然是最主要的编程语言.但是Java适合完成大型项目,对于平时工作中小的工作任务,需要快速完成,易于修改和调试,使用Java显得很繁琐,需要进行类的设计,打成jar包,出现 ...

  4. python读取excel中单元格的内容返回的5种类型

    (1) 读取单个sheetname的内容. 此部分转自:https://www.cnblogs.com/xxiong1031/p/7069006.html python读取excel中单元格的内容返回 ...

  5. Python向excel中写入数据的方法 方法简单

    最近做了一项工作需要把处理的数据写入到Excel表格中进行保存,所以在此就简单介绍使用Python如何把数据保存到excel表格中. 数据导入之前需要安装 xlwt依赖包,安装的方法就很简单,直接 p ...

  6. python 去除Excel中的重复行数据

    导入pandas import pandas as pd 1.读取excel中的数据: frame = pd.DataFrame(pd.read_csv('excel的绝对路径.csv'', 'She ...

  7. Python读取Excel中的数据并导入到MySQL

    """ 功能:将Excel数据导入到MySQL数据库 """ import xlrd import MySQLdb # Open the w ...

  8. python从excel中读取数据传给其他函数使用

    首先安装xlrd库 pip install xlrd 方法1: 表格内容如下: 场景描述,读取该表格A列数据,然后打印出数据 代码何解析如下: import xlrd #引入xlrd库 def exc ...

  9. python解析excel中图片+提取图片

    解析表格是常用的技术.但是有些表各里面有图片怎么办?我想获得表格里面的图片,值得注意的是,图片没有位置信息,所以最好给图片进行编号,编号代表位置. 下面附上提取表格里面图片的代码.只要输出表格地址,和 ...

随机推荐

  1. Linux如何安装Docker?

    使用yum安装(centos7) Docker要求Centos系统的内核版本高于3.10,安装Docker前需要验证你的服务器内核版本是否支持Docker. 通过 uname -r 命令来查看你的服务 ...

  2. C++基础知识篇:C++ 变量类型

    变量其实只不过是程序可操作的存储区的名称.C++ 中每个变量都有指定的类型,类型决定了变量存储的大小和布局,该范围内的值都可以存储在内存中,运算符可应用于变量上. 变量的名称可以由字母.数字和下划线字 ...

  3. 深入浅出之mysql索引--上

    当着小萌新之际,最近工作中遇到了mysql优化的相关问题,然后既然提到了优化,很多像我这样的小萌新不容置喙,肯定张口就是 建立索引 之类的. 那么说到底,索引到底是什么,它是怎么工作的?接下来就让我和 ...

  4. python安装第三方库aiohtpp,sanio失败,pip install multidict 失败问题

    1.python的第三库安装地址:http://www.lfd.uci.edu/~gohlke/pythonlibs 2. 3.pip安装.whl文件指定该文件的位置

  5. python - os.sep用法

    python是跨平台的.在Windows上,文件的路径分隔符是'\',在Linux上是'/'.为了让代码在不同的平台上都能运行,那么路径应该写'\'还是'/'呢?使用os.sep的话,就不用考虑这个了 ...

  6. od中低位地址和高位的顺序,以及数据的存放读写

    在观察内存的时候应当注意"内存数据"与"数值数据"的区别. 在我们的调试环境中,内存由低到高分布,你可以简单地把这种情形理解成Win32系统在内存中由地位向高位 ...

  7. 死磕以太坊源码分析之Fetcher同步

    死磕以太坊源码分析之Fetcher同步 Fetcher 功能概述 区块数据同步分为被动同步和主动同步: 被动同步是指本地节点收到其他节点的一些广播的消息,然后请求区块信息. 主动同步是指节点主动向其他 ...

  8. 排序-InsertionSort 插入排序

    插入排序 の implementation 插入排序就像打赌的时候,比如双扣.抽牌的时候,一次拿一张牌,这张牌和之前的牌一张张比较.选择把这张牌插入什么位置,排好顺序的位置后打牌更顺.要不然得一个一个 ...

  9. 【Azure Redis 缓存 Azure Cache For Redis】Azure Redis由低级别(C)升级到高级别(P)的步骤和注意事项, 及对用户现有应用的潜在影响,是否需要停机时间窗口,以及这个时间窗口需要多少的预估问题

    问题描述 由于Azure Redis的性能在不同级别表现不同,当需要升级/缩放Redis的时候,从使用者的角度,需要知道有那些步骤? 注意事项? 潜在影响?停机事件窗口? 升级预估时间? 解决方案 从 ...

  10. 添加和读取Resources嵌入资源文件(例如.dll和.ssk文件)

    前言:有些程序运行的时候,可能调用外部的dll,用户使用时可能会不小心丢失这些dll,导致程序无法正常运行,因此可以考虑将这些dll嵌入到资源中,启动时自动释放.对于托管的dll,我们可以用打包软件合 ...