python document_python处理document文档保留原样式

document文档格式、线段、图片、页眉页脚等都不变,供大家参考,具体内容如下 # -*- coding: utf-8 -*-

# @Time : 2019/5/6 11:46

# @Author :

"""

# 利用python-docx替换文章中的内容

pip install python-docx

# 格式、线段、图片、页眉页脚等都不变

# python-docx 在处理超链接的问题时,可以参考一下链接对源码进行修改

https://github.com/python-openxml/python-docx/issues/85

# 具体修改操作如下

\site-packages\docx\oxml\__init__.py

# 需要新增的代码

def remove_hyperlink_tags(xml):

import re

text = xml.decode('utf-8')

text = text.replace("","")

text = re.sub(']*>', "", text)

return text.encode('utf-8')

# 需要修改的源码

def parse_xml(xml):

root_element = etree.fromstring(remove_hyperlink_tags(xml), oxml_parser)

return root_element

"""

import os

from docx import Document

from win32com import client

# 自己写的逐句翻译包

import doc_scan

def pre_document(filename):

"""

由于python_docx(只能读取.docx文件,不能读取.doc文件)

将对应文件夹下的doc文件转为docx文件

:param filename: 文件的绝对路径

:return:

"""

file_tuple = os.path.splitext(filename)

if file_tuple[1] == '.doc':

word = client.Dispatch('Word.Application')

doc = word.Documents.Open(filename) # 目标路径下的文件

doc.SaveAs(file_tuple[0] + ".docx", 16) # 转化后路径下的文件

doc.Close()

word.Quit()

# 把源文件删除

os.remove(filename)

def read_document():

"""

原文文章为中文,然后将中文逐句翻译成英文,把英文替换原来的中文,保留文章的原样式

:return:

"""

# 遍历doc文件下的所有的文件

path = os.path.dirname(os.path.abspath(__file__)) + '\doc'

for f in os.listdir(path):

file = "%s\%s" % (path, f)

# 对源文件进行预处理

pre_document(file)

document = Document(file)

for num, paragraph in enumerate(document.paragraphs):

# 获取每段中的文字

old_text = paragraph.text.strip()

if old_text:

inlines = paragraph.runs

if inlines:

# 将原有的文章里面的内容为空

for li, inli in enumerate(inlines):

inlines[li].text = inlines[li].text.replace(inlines[li].text, '')

new_text = doc_scan.Scan(old_text)

# 把翻译好的文章句子 替换到 零号位置上面

inlines[0].text = new_text

# 保存文件,覆盖操作

document.save(file)

# 将document中的图片下载到本地

# document = Document(file)

# for shape in document.inline_shapes:

# contentID = shape._inline.graphic.graphicData.pic.blipFill.blip.embed

# contentType = document.part.related_parts[contentID].content_type

# if not contentType.startswith('image'):

# continue

# imgName = basename(document.part.related_parts[contentID].partname)

# imgData = document.part.related_parts[contentID]._blob

# with open(imgName,'wb') as fp:

# fp.write(imgData)

if __name__ == '__main__':

read_document()

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持聚米学院。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/511746.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

谁还没经历过死锁呢?

作者 | 敖丙来源 | 敖丙之前刚学习多线程时,由于各种锁的操作不当,经常不经意间程序写了代码就发生了死锁,不是在灰度测试的时候被测出来,就是在代码review的时候被提前发现。这种死锁的经历不知道大家有没有,不过怎么…

阿里巴巴超大规模Kubernetes基础设施运维体系解读

简介:ASI:Alibaba Serverless infrastructure,阿里巴巴针对云原生应用设计的统一基础设施。ASI 基于阿里云公共云容器服务 ACK之上,支撑集团应用云原生化和云产品的Serverless化的基础设施平台。 作者 | 仔仁、墨封、光南 来源 | …

搜索NLP行业模型和轻量化客户定制

简介:开放搜索NLP行业模型和轻量化客户定制方案,解决减少客户标注成本、完全无标注或少量简单标注的等问题,让搜索领域扩展更易用。 特邀嘉宾: 徐光伟(昆卡)--阿里巴巴算法专家 搜索NLP算法 搜索链路 …

CICD 的供应链安全工具 Tekton Chains

作者 | Addo Zhang来源 | 云原生指北软件供应链是指进入软件中的所有内容及其来源,简单地可以理解成软件的依赖项。依赖项是软件运行时所需的重要内容,可以是代码、二进制文件或其他组件,也可以是这些组件的来源,比如存储库或者包…

python计算不规则图形面积_python opencv中的不规则形状检测和测量

正如我在评论中提到的那样,对于这个问题,分水岭似乎是一个很好的方法.但是当你回答时,定义标记的前景和背景是困难的部分!我的想法是使用形态梯度沿着冰晶获得良好的边缘并从那里开始工作;形态梯度似乎很有效.import numpy as npimport cv2img cv2.imread(image.pn…

深度解析开源推荐算法框架EasyRec的核心概念和优势

简介:如何通过机器学习PAI实现快速构建推荐模型 作者:程孟力 - 机器学习PAI团队 随着移动app的普及,个性化推荐和广告成为很多app不可或缺的一部分。他们在改善用户体验和提升app的收益方面带来了巨大的提升。深度学习在搜广推领域的应用也…

助力公益数字化 火山引擎向公益机构捐赠多款技术产品

5月18日,字节跳动公益联合火山引擎举办了“科技应用创新让公益更美好”线上交流会,与中国红十字基金会、壹基金等多家公益机构探讨如何利用科技信息化产品提升公益事业的效率,从而进一步解决社会问题。 交流会上,火山引擎联合Pic…

云效发布策略指南|滚动、分批、灰度怎么选?

简介:在日常和用户交流过程中,我们也经常会被用户问到关于发布的问题,比如不同职能团队之间应该如何配合、发布的最佳实践应该是什么样子的等等。今天我们就来聊聊常见应用发布方式的选择,以及每种发布模式适合什么样的场景。 无论…

shell安装mysql5.7_一键部署----shell脚本安装MySQL5.7

运维开发网 https://www.qedev.com2020-11-09 12:30出处:51CTO作者:wx5ddda4c97f426一键部署----shell脚本安装MySQL5.7#/bin/bashyum-yinstallncursesbisoncmakegccgcc-cncurses-develuseraddmysql-s/sbin/nologinread-p"输入你存放压缩包的绝对路…

极致用云,数智护航

简介:我们邀请到了阿里云混合云监控平台(Sunfire)团队负责人王肇刚来给我们分析下阿里背后的数字化业务运维安全工程标准及解决方案。 本次分享涵盖了全新发布的数字化业务运维安全工程标准、安全生产解决方案,以及全新升级的产品能力:包括了…

Lakehouse 架构解析与云上实践

简介:本文整理自 DataFunCon 2021大会上,阿里云数据湖构建云产品研发陈鑫伟的分享,主要介绍了 Lakehouse 的架构解析与云上实践。 作者简介:陈鑫伟(花名熙康),阿里云开源大数据-数据湖构建云产品…

打印n×n数字方阵python_2020华为春招amp;#8211;N阶方阵旋转(python) - 易采站长站

import sysimport mathn int(sys.stdin.readline().strip())array []for i in range(n):# 读取每一行line sys.stdin.readline().strip()# 把每一行的数字分隔后转化成int列表rows list(map(int,line.split()))array.append(rows)def rotation_matrix(array,n):# 二维数组存…

金融云之上的“问”,浪潮云海下的“答”

“一力降十会,一云克万难”,2006年“云计算”这一概念被首次提出,16年后的今天,云计算的热度有增无减。根据Gartner的预测,2025年将有85%的企业和组织采用云优先原则,企业与组织将云优先原则作为…

菜鸟教程 mysql like_MySQL LIKE 子句

MySQL LIKE 子句我们知道在 MySQL 中使用 SQL SELECT 命令来读取数据,同时我们可以在 SELECT 语句中使用 WHERE 子句来获取指定的记录。WHERE 子句中可以使用等号 来设定获取数据的条件,如 "runoob_author RUNOOB.COM"。但是有时候我们需要获…

云原生 Serverless Database 使用体验

简介:表格存储 Tablestore 作为一款广泛应用 Serverless DataBase,能够提供经济的计费模式,可以大幅缩减业务成本的同时, 具备极致的弹性服务能力和完全零运维的特性,能够给用户带来更丝滑的使用体验。 作者 | 李欣 …

首推业人一体,北森2022春季发布会,正式发布iTalentX5.0

5月19日,中国最大的一体化HR SaaS及人才管理平台北森于线上召开“HR x业务”2022春季新品发布会,基于“业务人力一体化”理念发布iTalentX5.0,以战略和业务为牵引,用数字化平台赋能经理、员工和HRBP, 实现人力资源与业…

【阿里云 CDP 公开课】 第二讲:CDH/HDP 何去何从

简介:Hadoop社区版CDH/HDP已经不再更新,也将终止服务。后续的平台路线图怎么规划?Cloudera CDP整合了CDH和HDP,有哪些性能提升和功能增强?如何平滑的进行迁移?本文结合CDH/HDP平台现状,详细介绍…

mysql表全连接_关于mysql 实现表连接(左,右,内,全连接)

mysql 实现表连接(左,右,内,全连接)查询中出现两个表的连接,下面通过实例来讲解一下各种连接查询的不同之处表 a,和表b 如下图a 表中 有 abcdb表中有 abcf内连接:SELECT * from a INNER JOIN b on a.nameb.…

阿里云 Serverless Kubernetes 的落地实践分享

简介:Serverless Kubernetes 基于 Kubernetes 之上,提供按需使用、节点免运维的 Serverless 能力,让开发者真正实现通过 Kubernetes 标准化 API 进行 Serverless 应用编程,值得关注。 作者 | 元毅(阿里云容器平台高级开…

DevLake 加入 Apache 孵化器,开源共建 Apache 生态首个研发大数据平台

4 月 29 日,开源研发数据平台 DevLake 通过投票决议,正式成为 Apache 软件基金会 (ASF) 的孵化项目。 进入孵化后,Apache DevLake 将遵循 The Apache Way[1],在导师们的引导下,坚持以人为本、社区高于代码的理念&#…