安装win32com的时候出现了诸多问题,直接贴代码:
1 '''
2 #利用pythonexcel里面的单词
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('', '')
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))