复制PPTX内容到excel

# encoding:utf-8from pptx import Presentation
import openpyxl
import os#### 读取所有PPTX文件的名字
def list_dictionary_codes(root_dir):paths_list = []for parent, dirNames, fileNames in os.walk(root_dir):for name in fileNames:ext = ['.pptx']if name.endswith(tuple(ext)):paths_list.append(os.path.join(name))return paths_listroot_dir=r'D:\auto_translate-20200519单机D盘版V2\English_Culture_input\input\\'
mypaths_list=list_dictionary_codes(root_dir)
print(mypaths_list) ###### 输入需要翻译的内容
translate_file=r"D:\auto_translate-20200519单机D盘版V2\English_Culture_input\\"
translate_outputfile=r"D:\auto_translate-20200519单机D盘版V2\English_Culture_output\\"
wb=openpyxl.load_workbook(translate_file+"input_file.xlsx")
sheet=wb.get_sheet_by_name('翻译')# 将不同pptx的文件写入list,并保存在excel里面
j=2 # 开始写入的excel栏位
for p in range(0,len(mypaths_list)):#写入需要翻译的内容word_list=[]ppt = Presentation(root_dir+mypaths_list[p])for slide in ppt.slides:for shape in slide.shapes:if shape.has_text_frame:text_frame = shape.text_frame# 利用ppt_text来转码数据ppt_text= text_frame.textppt_text = ppt_text.replace(u'\xa0', u' ')ppt_text = ppt_text.replace(u'\x0b', u'')word_list.append(ppt_text)print(word_list)print('读取完毕'+mypaths_list[p])# 将记录存进去excelfor i in range(0,len(word_list)):sheet.cell(row=j, column=1).value=word_list[i]j=j+1# 保存文件
wb.save(translate_file+"input_PPT内容.xlsx")
wb.close()
print('复制PPTX内容到excel完毕')
print('请打开excel表,删除“空白的行”和“日期的行”,否则会报错')

自制翻译器-金山-百度

import requests,json,openpyxl
from bs4 import BeautifulSoupdef translate_iciba(myword):
##### 金山翻译 ######把请求登录的网址赋值给url。url = 'http://fy.iciba.com/ajax.php?a=fy'#加请求头,前面有说过加请求头是为了模拟浏览器正常的访问,避免被反爬虫。headers = {'User-Agent':'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.110 Safari/537.36'}#把有关登录的参数封装成字典,赋值给data。data = {'f': 'auto','t': 'auto','w': myword,}#用requests.post发起请求,放入参数:请求登录的网址、请求头和登录参数,然后赋值给login_in。translate_request = requests.post(url,headers=headers,data=data)#打印出comment的状态码,若状态码等于200,则证明我们评论成功。#print(translate_request.status_code)js_translate=translate_request.json()mytranslator_iciba=js_translate['content']['out']print('金山翻译:'+mytranslator_iciba)return mytranslator_iciba#!/usr/bin/env python
# -*- coding: utf-8 -*-import hashlib
import random
import openpyxl
from openpyxl import Workbook
import requests
import time# set baidu develop parameter
apiurl = 'http://api.fanyi.baidu.com/api/trans/vip/translate'
appid = '***'
secretKey = '***'# 接入API:翻译内容 源语言 翻译后的语言
def translateBaidu(content, fromLang='auto', toLang='auto'):time.sleep(0.5)salt = str(random.randint(32768, 65536))sign = appid + content + salt + secretKeysign = hashlib.md5(sign.encode("utf-8")).hexdigest()try:paramas = {'appid': appid,'q': content,'from': fromLang,'to': toLang,'salt': salt,'sign': sign}time.sleep(1.2)response = requests.get(apiurl, paramas)time.sleep(1.2)jsonResponse = response.json()  # 获得返回的结果,结果为json格式dst=[]for i in range(0,20):try:dst_sub = str(jsonResponse["trans_result"][i]["dst"])  # 取得翻译后的文本结果dst.append(dst_sub)except Exception:passdst='\n'.join(dst)print('百度翻译:'+dst)return dst         except Exception as e:print(e)# 输入需要翻译的内容
translate_file=r"D:\auto_translate-20200519单机D盘版V2\English_Culture_input\\"
translate_outputfile=r"D:\auto_translate-20200519单机D盘版V2\English_Culture_output\\"wb=openpyxl.load_workbook(translate_file+"input_PPT内容.xlsx")
sheet=wb.get_sheet_by_name('翻译')
rows=sheet.max_rowfor i in range(2,rows+1):# 原文myword=sheet.cell(row=i, column=1).value# 修改后的翻译sheet.cell(row=i, column=3).value=myword# 金山翻译sheet.cell(row=i, column=2).value=translate_iciba(myword)# 百度翻译sheet.cell(row=i, column=4).value = translateBaidu(myword)wb.save(translate_outputfile+"output_金山翻译.xlsx")wb2=openpyxl.load_workbook(translate_outputfile+"output_金山翻译.xlsx")
sheet2=wb2.get_sheet_by_name('翻译')
rows2=sheet2.max_row## 百度翻译为空值的栏位补充完毕
print('检查百度翻译是否有空值')
for j in range(15):time.sleep(1)for i in range(2,rows2+1):while sheet2.cell(row=i, column=4).value == None:# 原文myword=sheet2.cell(row=i, column=1).value# 百度翻译sheet2.cell(row=i, column=4).value = translateBaidu(myword)wb2.save(translate_outputfile+"output_金山翻译.xlsx")wb2.close()
#wb.close()
print('翻译导出Ok')

补充百度翻译

import requests,json,openpyxl
from bs4 import BeautifulSoup#!/usr/bin/env python
# -*- coding: utf-8 -*-import hashlib
import random
import openpyxl
from openpyxl import Workbook
import requests
import time# set baidu develop parameter
apiurl = 'http://api.fanyi.baidu.com/api/trans/vip/translate'
appid = '***'
secretKey = '***'# 接入API:翻译内容 源语言 翻译后的语言
def translateBaidu(content, fromLang='auto', toLang='auto'):time.sleep(0.5)salt = str(random.randint(32768, 65536))sign = appid + content + salt + secretKeysign = hashlib.md5(sign.encode("utf-8")).hexdigest()try:paramas = {'appid': appid,'q': content,'from': fromLang,'to': toLang,'salt': salt,'sign': sign}time.sleep(1.2)response = requests.get(apiurl, paramas)time.sleep(1.2)jsonResponse = response.json()  # 获得返回的结果,结果为json格式dst=[]for i in range(0,20):try:dst_sub = str(jsonResponse["trans_result"][i]["dst"])  # 取得翻译后的文本结果dst.append(dst_sub)except Exception:passdst='\n'.join(dst)print('百度翻译:'+dst)return dst         except Exception as e:print(e)# 输入需要翻译的内容
translate_file=r"D:\auto_translate-20200519单机D盘版V2\English_Culture_input\\"
translate_outputfile=r"D:\auto_translate-20200519单机D盘版V2\English_Culture_output\\"wb2=openpyxl.load_workbook(translate_outputfile+"output_金山翻译.xlsx")
sheet2=wb2.get_sheet_by_name('翻译')
rows2=sheet2.max_row## 百度翻译为空值的栏位补充完毕
print('检查百度翻译是否有空值')
for j in range(10):time.sleep(1)for i in range(2,rows2+1):while sheet2.cell(row=i, column=4).value == None:# 原文myword=sheet2.cell(row=i, column=1).value# 百度翻译sheet2.cell(row=i, column=4).value = translateBaidu(myword)wb2.save(translate_outputfile+"output_金山翻译.xlsx")wb2.close()print('翻译导出Ok')

将翻译结果生产PPT

from pptx import Presentation
from pptx.util import Pt
import pptx
import openpyxl### 文化墙的PPTX模板只有一页,务必定义好模板格式(只留1个文本框即可)translate_file=r"D:\auto_translate-20200519单机D盘版V2\English_Culture_input\\"
translate_outputfile=r"D:\auto_translate-20200519单机D盘版V2\English_Culture_output\\"prs = Presentation(translate_file+'公司PPT:input-WT.pptx')# 读取数据
wb=openpyxl.load_workbook(translate_outputfile+'output_金山翻译.xlsx')
sheet=wb.get_sheet_by_name('翻译')
rows=sheet.max_row##### PPTX第1页 #####
# 跳转到指定slide
slide = prs.slides[0]
# 增加标题
#slide.shapes.title.text = ''
# 增加内容
# 在第二个文本框中文字框架内添加文字
tf = slide.shapes.placeholders[1].text_frame
tf.text=sheet.cell(row=1, column=3).value##### PPTX第2-n页 #####
for j in range(2,rows+1):# 采用第一种样式bullet_slide_layout = prs.slide_layouts[1]# 增加一个图层slide = prs.slides.add_slide(bullet_slide_layout)# 增加标题#slide.shapes.title.text = ''# 增加内容# 在第二个文本框中文字框架内添加文字tf = slide.shapes.placeholders[1].text_frametf.text = sheet.cell(row=j, column=3).valuetf.level = 0 #数字越大,层次越深prs.save(translate_outputfile+'output:英语文化墙.pptx')
print('PPTX导出成功')

Python E化-英文资料自动翻译相关推荐

  1. Python E化-自制有道英文翻译器

    Python E化-自制有道英文翻译器 import requests import json from tkinter import Tk,Button,Entry,Label,Text,ENDcl ...

  2. FPGA的三个时代,最初三十年的回顾(附原英文资料)

    FPGA的三个时代,最初三十年的回顾(附原英文资料) 来源:本文翻译自IEEE Fellow Stephen M. (Steve) Trimberger写的文章Three Ages of FPGAs: ...

  3. Zotero,ZotFile,Python 流程化管理文献

    这几天尝试了各种文献管理软件,为了未来几年硕士科研学习生涯的顺利,这是磨刀不误砍柴工啊!网上的教程看了很多,但都说不清楚,走了很多弯路,最后自己看英文的官方手册慢慢摸索,最终决定采取"Zot ...

  4. 用matlab实现bpsk,用MATLAB实现的BPSK调制解调源程序(国外英文资料).doc

    用MATLAB实现的BPSK调制解调源程序(国外英文资料) 用MATLAB实现的BPSK调制解调源程序(国外英文资料) modulation.m 函数output_modu =调制(input_fra ...

  5. 微型客车设计 英文资料翻译

    英文资料翻译 Motor car chassis new technology application 1.Automobile braking system technology applicati ...

  6. Python 介绍及相关资料

    Python 是一种非常棒的编程语言,正在得到越来越多的应用,简单而强大.通过Python不仅可以轻松创建和制作网站,还可以编写各种应用程序.以下内容简要介绍了Python,并提供了一些常用的资料和链 ...

  7. 介绍html5的英文,HTML5的WebSocket基本资料(国外英文资料).doc

    HTML5的WebSocket基本资料(国外英文资料) 济匿塘践没宿步抠截栋眯迈樱霓柴才溉症稗啼册龋晃挽愧拇幼晚再朽堰榆够淋韭柔沂挫由热汇工今能水雌绚幽晓息暴隶里剿蛮瘴着揩榴寄响值捍绎佩棒韶看翰认摩舵 ...

  8. c语言英文字符转数字,C语言常用数字和字符串转换函数(国外英文资料).doc

    C语言常用数字和字符串转换函数(国外英文资料) C语言常用数字和字符串转换函数(国外英文资料) C language commonly used Numbers and string conversi ...

  9. linux配置英文,linux 系统配置命令(国外英文资料).doc

    linux 系统配置命令(国外英文资料) linux 系统配置命令(国外英文资料) Linux system configuration commands -- -- -- -- -- -- -- - ...

最新文章

  1. 图文并茂!60页PPT《快速入门python数据分析路线》(附链接)
  2. 「硅仙人」吉姆 · 凯勒:我在特斯拉是最闲的员工,却要在英特尔管一万人
  3. 算法 msrcr_一种快速简便优秀的全局曲线调整与局部信息想结合的非线性彩色增强算法(多图深度分析和探索)...
  4. python爬取京东商品图片_python利用urllib实现爬取京东网站商品图片的爬虫实例
  5. 2019年4月8日 1021. Remove Outermost Parentheses
  6. ffmpeg-20160714-git-bin.7z
  7. tenda无线网卡Linux驱动,腾达Tenda W311MA无线网卡Linux下驱动安装
  8. 解决:Mac下的Mounty卷不能在读/写模式下重新挂载.可能是因为先前没有完全卸载(安全删除)
  9. Spring Cache使用Redisson分布式锁解决缓存击穿问题
  10. Linux nodejs 安装以及配置环境
  11. 打印时总跟出一页计算机主的纸,打印机只打印一页却重复不停打印的原因之一和解决方法...
  12. (附源码)php丽江旅游服务网站 毕业设计 010149
  13. 基于python3的tkinter和scapy可视化报文构造工具(六)
  14. Rust: 基于 napi-rs 开发 Node.js 原生模块
  15. 离职那天,我们复员……
  16. 没有了老师,该如何学习?
  17. 17道Python面试题,让你在求职中无往不利
  18. 电脑常识:连不上网络,只显示飞行模式?
  19. 工作5年的我,突然之间迷茫了。
  20. Firmadyne固件模拟路由器环境搭建

热门文章

  1. varlimo阿米洛机械键盘 win lock锁定
  2. Linux嵌入式学习(简单 platform 设备驱动的实现)
  3. 将字符串中的小写字母转换为相应的大写字母
  4. 笔记二:php去除空格
  5. IS | 資訊安全基本需求
  6. 2345浏览器怎么换主页 2345浏览器换主页教程
  7. bootstrapt学习指南_Bootstrap 教程
  8. Django 数据库常用字段类型
  9. 2021-07-11
  10. Java中字符数组转换为字符串