尝试安装python-docx(错误:无法找到vcvarsall.bat)。
我已经尝试了一切,我不知道该从这里去哪里.当我调用命令pip install python-docx时,我得到了: running build_ext building 'lxml.etree' extension error: Unable to find vcvarsall.bat ---------------------------------------- Command "c:\users\alex\appdata\local\programs\python\python35-32\python.exe -c "import setuptools, tokenize;__file__='C:\\Users\\Alex\\AppData\\Local\\Temp\\pip-build-u2i_l872\\lxml\\setup.py';exec(compile(getattr(tokenize, 'open', open)(__file__).read().re
0 2023-12-06
编程技术问答社区
用 Python 更新 MS Word .docx 文档的 TOC(内容表
我使用Python软件包" Python-docx"来修改MS Word .Docx文档的结构AMD内容. The package lacks the possibility to update the TOC (table of content) [ python:用python-docx/lxml 创建"目录". 有能力更新文档的TOC吗?我考虑使用python软件包" pywin32"的" win32com.client" [我尝试了以下内容: 我将document.docx更改为document.docm,并实现了以下宏[Sub update_TOC() If ActiveDocument.TablesOfContents.Count = 1 Then _ ActiveDocument.TablesOfContents(1).Update End Sub 如果我更改内容(添加/删除标题)并运行宏,则TOC已更新.我保存了文档,我很高兴. i实现以下pyth
0 2023-12-04
编程技术问答社区
如何使DOCX文件渲染/加载/添加并保留所有W:LastrenderedPageBreak
我目前正在处理DOCX文件,并且我正在使用W:LastrenderedPageBreak作为每个页面内容的标记.我有必要确定页面是否已经结束. 我当前的代码是这样的: from docx import Document document = Document(file) for p in document.paragraphs: if 'lastRenderedPageBreak' in p._element.xml: # do something # rest of code here 现在我遇到的问题是一个只有4页的DOCX文件具有2个:lastrenderedpagebreak标签.我尝试打开DOCX文件并保存它,但是W:LastrenderedPageBreak不会增加. w:lastrenderedpagebreak唯一可以正确显示页面中断的时间是我打开docx文件并将其保存为xml文件时. 有什么方法可以跳过保存作为XML零件,以
0 2023-11-16
编程技术问答社区
提取与内容相关联的word文档的样式
我正在尝试提取包含不同字体和字体大小,图像,注释等文本的Word文档的格式.我使用zipfile模块来提取Word文档的XML文件. XML文件是: ['[Content_Types].xml', '_rels/.rels', 'word/_rels/document.xml.rels', 'word/document.xml', 'word/footer2.xml', 'word/header1.xml', 'word/footer1.xml', 'word/endnotes.xml', 'word/footnotes.xml', 'word/_rels/header1.xml.rels', 'word/header2.xml', 'word/_rels/header2.xml.rels', 'word/embeddings/Microsoft_Word_97_-_2003_Document1.doc', 'word/media/image3.wm
12 2023-10-19
编程技术问答社区
从word文档中提取标题'文本
我正在尝试从MS Word文档(.docx文件)中的标题(任何级别)提取text.目前,我正在尝试使用 python-docx ,但不幸的是,我是阅读后仍然无法弄清楚它是否甚至是可行的(也许我是错误的). 我试图在网上寻找解决方案,但没有发现我的任务.如果有人可以在这里引导我,那就太好了. 解决方案 基本挑战是确定标题段落.就读者而言,没有什么可以阻止作者格式化"常规"段落看起来像(并用作)标题. 但是,作者可靠地使用样式创建标题并不少见,因为这样做可以自动将这些标题自动编译到目录中. 在这种情况下,您可以在段落上迭代,然后以一种标题样式挑选出那些. def iter_headings(paragraphs): for paragraph in paragraphs: if paragraph.style.name.startswith('Heading'): yield paragraph for hea
10 2023-10-18
编程技术问答社区
如何使用python-docx来替换Word文档中的文本并保存
同一页面中提到的oodocx模块将用户转到似乎不存在的一个/示例文件夹. 我已经阅读了python-docx 0.7.2的文档,以及我在stackoverflow上可以找到的所有内容,因此请相信我已经完成了"家庭作业". python是我认识的唯一语言(初学者+,也许是中级),因此请不要假设C,UNIX,XML等任何知识 任务:打开一个带有单个文本的MS-WORD 2007+文档(以保持简单),并替换具有其词典值的文本中发生的字典中的任何"键"单词.然后关闭文档使其他所有内容保持不变. 文本行(例如)"我们将徘徊在海室中." from docx import Document document = Document('/Users/umityalcin/Desktop/Test.docx') Dictionary = {‘sea’: “ocean”} sections = document.sections for section in sections:
8 2023-10-18
编程技术问答社区
如何复制word文档的内容?
我想编写一个程序,将文本从Word文档复制并粘贴到另一个程序中.我正在尝试使用python-docx库来做到这一点.我能够使用以下代码来做到这一点,但它不会复制 BOLD , Italic ,下划线或彩色部分是它们的,并且仅是它们的文本: from docx import Document input = Document('SomeDoc.docx') paragraphs = [] for para in input.paragraphs: p = para.text paragraphs.append(p) output = Document() for item in paragraphs: output.add_paragraph(item) output.save('OutputDoc.docx') 我还尝试将paragraph对象直接复制到输出文档中,但它也不起作用: from docx import Document i
8 2023-10-04
编程技术问答社区
在 python-docx 中搜索和替换
我有一个文档(模板),上面有以下字符串:"你好,我叫鲍勃.鲍勃是个好名字." 我想使用Python -docx打开此文档,并使用"查找和替换"方法(如果存在)来更改每个字符串" bob" - >" mark".最后,我想生成一个带有字符串的新文档:"你好,我的名字是马克.马克是一个不错的名字." 我该怎么做? from docx import * TEMPLATE_FILE = 'test_template.docx' class generate_docx: @staticmethod def test(): document = Document(TEMPLATE_FILE) body = document.xpath('/w:document/w:body', namespaces=nsprefixes)[0] body = replace(body, 'Bob', 'Mark') saved
2 2023-10-03
编程技术问答社区
Python-docx: 识别段落中的分页符
i遍历文档,然后通过.(带空格的点)将每个段落的文本分为句子.我在句子中划分了段落文本,以便进行更有效的文本搜索与整个段落中的搜索进行比较. 然后,代码在每个句子单词中搜索错误,从错误纠正db取错误.我在下面显示的简化代码: from docx.enum.text import WD_BREAK for paragraph in document.paragraphs: sentences = paragraph.text.split('. ') for sentence in sentences: words=sentence.split(' ') for word in words: for error in error_dictionary: if error in word: # (A) make simple rep
4 2023-08-23
编程技术问答社区
如何让python-docx在复杂的脚本中工作?
我有一个工作的DOCX生成器,可用于欧洲语言,我正在尝试增加复杂的脚本支持.我发现了其他一些食谱的问题: python--python--python--- docx add_style带有ctl(复杂文本布局)语言 我设法使其正常工作,因此复杂的字样文本以正确的字体和大小出现,但是我无法获得双向(左)文本的工作.显而易见的" X.Font.rtl = true"不起作用,另一个帖子中给出的咒语也不可用(" lang.set(qn('w:bidi'),'fa-ir')").我必须从他的食谱中取出"" rpr.get_or_add_sz(),这给我留下了一个不可读的文件,但是其他一切都没有它,我不认为它与此问题有关. > 这是生成文档的样式出现的样式.xml文件:
8 2023-08-11
编程技术问答社区
Python docx: 获取插入/删除/修改的段落/元素
在DOCX中,我有几段标记为插入,删除或通过轨道更改进行修改的段落. Python-docx当我使用函数Document.paragraphs()时,没有看到它们,如文档中所述: @property def paragraphs(self): """ A list of |Paragraph| instances corresponding to the paragraphs in the document, in document order. Note that paragraphs within revision marks such as ```` or ```` do not appear in this list. """ return self._body.paragraphs 他们有可能使用此功能并获取修订的段落? 解决方案 从 https://stackoverflow.
6 2023-07-25
编程技术问答社区
使用 Python 读取 docx 文件中多级列表的相对位置
我需要在Python中读取DOCX文件并检索多级列表的相对位置.请参见下文示例: 我只想阅读多级列表中的文本,并检索相对位置并返回字典.预期输出就像: output = {'1': 'This is the first bullet point.', '1-(a)': 'This is the first sub bullet point.', '1-(b)': 'This is the second sub bullet point.', '1-(b)-(i)': 'My name is Bob.', '1-(b)-(ii)': 'My name is Dave.', '2': 'This is the second bullet point.' } 作为"这是示例文档".和"文档的结尾".不在多级列表中,这些文本不应包含在字典中. 我看
10 2023-07-25
编程技术问答社区
python docx 对象中的 word/_rels/document.xml.rels 在哪里?
我需要word/_rels/document.xml.rels的内容才能获取图像信息. Python-docx会存储它吗? 我使用此: >>> from docx import Document as d >>> x=d('a.docx') 似乎无法在x对象中获取它. 解决方案 Python-docx和Python-Pptx共享一个常见的OPC子弹;这是docx.opc子弹. 此层抽象了.RELS文件的详细信息,除其他方面. 您可以使用: 来获得它 >>> document = Document() >>> document_part = document.part >>> rels = document_part.rels >>> for r in rels: ... print r.rId 'rId2' 'rId1' 'rId3' 您最有效地使用它取决于您要获得的东西.通常,人们只是想获得相关的部分,而不在乎浏览包装的详细信息.为此,有
4 2023-07-25
编程技术问答社区
如何使用 python-docx 在 WORD 文档中输入分数
我想使用python-docx将分数插入单词,如下图所示.我只能插入这些:15/20 + 4/20.我想拥有图片显示的样式.是否可以使用Python-docx或Python中的其他库进行操作? 解决方案 Python-Docx不能实现用于使用Word公式的高级API,但是如果您可以自己构造XML字符串,则可以将其插入文档中. XML模式是Microsoft OMML,在概念上与Mathml相似. from docx import Document from docx.oxml import parse_xml document = Document() p = document.add_paragraph() omml_xml = ' 1
8 2023-07-25
编程技术问答社区
如何添加 w:altChunk 及其与 python-docx 的关系
我有一个用例,可以在Word文档中使用 element(fragment of)html文件作为替代块,然后在文件打开时让Word Do起作用.当前的实现是使用XML/XSL来组成WordMl XML,修改关系并手动执行所有包装工作,这是真正的痛苦. 我想转到Python-docx,但API不直接支持这一点.目前,我找到了在文档XML中添加的方法.但是仍然很难找到一种将关系和相关文件添加到包装的方法. 我认为我应该做一个兼容的部分,并将其传递给document.part.relate_to函数以完成其工作.但是仍然不知道如何: from docx import Document from docx.oxml import OxmlElement, qn from docx.opc.constants import RELATIONSHIP_TYPE as RT def add_alt_chunk(doc: Docum
6 2023-07-25
编程技术问答社区
在 python-docx 中更改段落格式
我正在尝试使用Python的Python-Docx模块更改多个段落的格式. from docx import Document from docx.shared import Pt from docx.shared import Inches from docx.enum.text import WD_PARAGRAPH_ALIGNMENT from docx.enum.section import WD_ORIENTATION from content import report_content, provinces, report_date, introduction, intro_content alignment_dict = {'justify': WD_PARAGRAPH_ALIGNMENT.JUSTIFY, 'center': WD_PARAGRAPH_ALIGNMENT.CENTER, 'ce
10 2023-07-25
编程技术问答社区
如何在 python-docx 中将页码重置为 1?
我已经使用代码向我的代码添加了字段'页面: def _add_field(run, field): """ add a field to a run """ fldChar1 = OxmlElement('w:fldChar') # creates a new element fldChar1.set(qn('w:fldCharType'), 'begin') # sets attribute on element instrText = OxmlElement('w:instrText') instrText.set(qn('xml:space'), 'preserve') # sets attribute on element instrText.text = field fldChar2 = OxmlElement('w:fldChar') fldChar2.set(qn('w:fldCharTy
10 2023-07-25
编程技术问答社区
如何用 python 读取同一文件夹中多个 docx 文件中的表格
我有一个名为" test_plan"的文件夹.它组成了多个DOCX文件,每个DOCX文件都有多个表.我的问题是如何读取整个DOCX文件并提供输出?例如,所有DOCX文件都有多个表,我正在选择一个DOCX文件,并给出输出 (即) 表格总数:52 是自动化的总数:6 无自动化的总数:5 这样,我需要在该" test_plan"文件夹中自动化整个文件数量. 希望你理解我的问题. 我的读取表的代码来自单个DOCX文件: #Module to retrive the word documents from docx import Document doc = Document("sample2.docx") #Reading the tables in the particular docx i = 0 for t in doc.tables: for ro in t.rows: if ro.cells[0].text=="ID" :
10 2023-07-25
编程技术问答社区
无法安装 python-docx
我需要通过Python 3.4在Word文档中创建表.为此,我尝试在Windows中安装python-docx.如果我使用pip install python-docx我会收到以下错误: vcvarsall.bat error 所以我安装了Visual Studio,然后尝试安装它,但我仍然会得到以下内容: error: Setup script exited with error: command '"C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\BIN\cl.exe"' failed with exit status 2 解决方案 这是lxml安装的问题.如果您单独安装lxml,使用Windows二进制软件包,然后重新安装Python-docx,此错误应消失. 您可以在此处找到一个二进制lxml软件包: http:///www.lfd.uci. edu/〜gohlke/pythonlibs/#
24 2023-07-25
编程技术问答社区