• 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))
  • 相关阅读:
    java 数据结构容器之HashSet
    java LinkedList模拟堆栈
    Java实现windows7标准型计算器
    Java迭代器注意事项
    (动态规划求解)聪明的kk
    三张图讲清楚Java中的方法的参数传递机制
    Java对象在内存中的表示
    两张内存变化图揭秘二维数组的初始化
    四张內存变化图揭秘引用类型数组的初始化
    三张內存变化图揭秘基本类型数组的初始化
  • 原文地址:https://www.cnblogs.com/mafu/p/13935915.html
Copyright © 2020-2023  润新知