美文网首页
python多线程 from multiprocessing.d

python多线程 from multiprocessing.d

作者: 沫明 | 来源:发表于2021-04-08 20:25 被阅读0次

    python多线程 from multiprocessing.dummy import Pool
    python操作excel表 import openpyxl

    from multiprocessing.dummy import Pool as ThreadPool  # 多线程
    import openpyxl   # excel包
    from perplr_fanyi.gtcom import GtCom   # 自己的翻译接口
    
    src_path = 'D:\item\item\perplr_fanyi\人-V2.xlsx'   # 读表路径
    target_path = 'D:\item\item\perplr_fanyi\人-V2_zh.xlsx'   # 存表路径(也可以与上一样)
    
    
    class PerpleTranslate(object):
    
        def __init__(self, con_current):
            self.book = openpyxl.load_workbook(src_path)  # 获取work book
            self.sheet = self.book.active  # 获取work表
            self.con_current = con_current  # 线程数
            self.api = GtCom()  # 翻译接口
    
        def close(self):
            self.book.save(target_path)  # 保存文件
    
        def perple(self, i):
            for row in range(i, 45732, self.con_current):  # 参数1:excel表的行数min  参数2:excel表的行数max  参数3:线程数
                if row == 1:                               
                    continue
                figure_ename = self.sheet.cell(row=row, column=6).value   # row为excel表行对应的数,colimn为列对应的数
                print(figure_ename)  # 单元格的值
                try:
                    name_zh = self.api.translate(figure_ename.strip())
                except Exception as e:
                    name_zh = None
                    print("error-->:", e)
    
                figure_name_zh = self.sheet.cell(row=row, column=39).value = name_zh   # 给单元格赋值
                print(figure_name_zh)
                print(row)
    
        def parse_rows(self):
            try:
                pool = ThreadPool(self.con_current)
                pool.map(self.perple, range(1, self.con_current+1))
            except:
                pass
            finally:
                self.close()
    
    
    if __name__ == '__main__':
        t = PerpleTranslate(100)  #100个线程
        t.parse_rows()

    相关文章

      网友评论

          本文标题:python多线程 from multiprocessing.d

          本文链接:https://www.haomeiwen.com/subject/nqnvkltx.html