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))