问题标签 [python-docx]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 使用 python 读写 .docx 文件
我有一个文件夹,其中包含几个名称为.docx的文件[Code2001.docx, Code2002.docx... Code2154.docx]
。
我正在尝试编写一个脚本,它将:
- 打开每个 .docx 文件
- 在文档中添加一行;“这个被检查了”
- 将 .docx 文件保存到另一个文件夹,名为“Code2001_checked”
搜索后,我只设法通过循环获取文件名:
我还发现了这个:docx 模块,但文档很差,无法继续。
有关如何完成此脚本的任何建议?
python - 安装 python-docx 包但得到 ImportError: No module named docx
我安装了 python-docx 包,并使用 pip 命令 Freeze 验证了它是否存在。当我使用该命令时,它显示 docx==0.2.0 但是当我尝试在我的脚本中导入它时,我得到一个 ImportError:没有名为 docx 的模块,任何想法发生了什么。
python - 在 docx 中替换文本并使用 python-docx 保存更改的文件
我正在尝试使用python-docx 模块替换文件中的单词并保存新文件,但需要注意的是新文件的格式必须与旧文件完全相同,但替换了单词。我该怎么做?
docx 模块有一个 savedocx,它接受 7 个输入:
- 文档
- 核心道具
- 应用道具
- 内容类型
- 网络设置
- 词语关系
- 输出
除了替换的单词外,如何使原始文件中的所有内容保持不变?
python - Python:使用 python-docx/lxml 创建“目录”
我正在尝试在 python-docx (https://github.com/mikemaccana/python-docx )的帮助下自动创建 .docx 文件(WordML )。我当前的脚本使用以下循环手动创建 ToC:
有谁知道使用“内置单词”ToC 功能的方法,它会自动添加索引并创建各个章节的段落链接?
非常感谢!
built-in - Python 文档帮助(f.seek)
我有 python 外壳。Python -V 是 3.3.2
为什么我没有得到有关此 BIF 的信息?我的 python shell 正确吗?
python - 难以创建 lxml 元素子类
我正在尝试创建 Element 类的子类。我在开始时遇到了麻烦。
当我尝试打开从此代码输出的文档时,我的 Word 版本(带有兼容包的 2003)给我以下错误:“此文件是由 Word 2007 的早期测试版创建的,无法在此版本中打开。” 当我将 File 对象替换为使用 docx.newdocument() 创建的不同元素时,文档会正常显示。有什么想法/建议吗?
python - 解析 Doxygen XML 并生成 .docx 文件
很长一段时间以来,我一直在使用 Doxygen 自动化我的 C 代码,并且发现 HTML 输出非常适合理解代码。但是,我有一个新要求,即生成包含相同信息但格式要求非常特殊的 Word .docx 文件。
使用 python-docx 包,编写一个 .docx 文件并配置样式以符合我的要求非常简单,使用 LXML 解析 Doxygen 的 XML 输出。然而,对于更复杂的字段(例如文件和函数的详细描述),有相当复杂的文档样式的 XML 标记。
我的理解是,可以任意嵌套<para>
、和其他标签<itemizedlist>
,<xrefsect>
并在同一级别尾随它们的独立文本“尾巴”。我将嵌套 XML 转换为平面 .docx 段落和项目符号列表的方法是使用状态机,但这似乎很脆弱,因为可能存在任意数量的嵌套级别。
我目前的策略是要点在这里。我想知道是否有一种更通用的方式来理解具有复杂嵌套的文档。有没有比我的状态机更脆弱的策略?我不确定我是否要重新发明轮子,但是我添加到状态机的案例越多,它就越不像一个强大的解决方案。
python - 在 Django 中可下载的 docx 文件
我的 django web 应用程序制作并保存 docx,我需要使其可下载。我使用简单render_to_response
如下。
但是,它会引发错误,例如'utf8' codec can't decode byte 0xeb in position 15: invalid continuation byte
我无法将此文件作为静态文件提供,因此我需要找到一种方法将其作为静态文件提供。非常感谢您的帮助。
python - Django 和 python-docx
我正在尝试通过python-docx和 django 创建一个 docx 文件。
example-makedocument.py
直接使用 python运行示例脚本 ( ) 即可。又名“工作副本”。它按预期生成示例 docx 文件。
然后我所做的是尝试将该example-makedocument.py
代码移动到 Django 视图中。这篇文章底部的代码是该视图的代码。你会看到我预先做了一些小的修改,但通常没有改变。
运行此视图时,我收到有关无法找到图像文件的错误。
我有:
- 确保文件夹/文件结构与工作副本相同(它需要其子文件夹才能正常工作)
- 我已经尝试将 docx.py 硬编码
template_dir
到保存文件夹/文件的位置(我已经检查这些结果是否指向与工作副本相同的最终路径) - 我已从示例中删除了图像,但会导致错误
local variable 'contenttypes' referenced before assignment
我认为它与路径有关,但我不确定为什么/如何?任何人都可以帮忙吗?
此处提供完整的 python-docx 代码。
我的观点:
========
更新。我在下面找到的解决方案的详细信息。
docx.py 代码假设路径与原来不同。这导致 image1.png 文件“丢失”。完成以下步骤为我解决了这个问题。
编辑 docx.py 文件并添加一个变量:
docx_dir = '/path/to/docx/文件夹'
编辑以下行(docx.py)以使用上述变量(显示的大约行号,与原始来源略有不同)
- shutil.copyfile(加入(docx_dir,picname),加入(media_dir,picname))
- 像素宽度,像素高度 = Image.open(join(docx_dir, picname)).size[0:2]
以上摆脱了路径问题。但现在我面临着错误
local variable 'contenttypes' referenced before assignment
。我发现错误不是通过与路径有关的任何事情解决的,而是通过重复名称解决的(我不完全理解为什么仍然如此)。
注意:下面的代码位于我的视图中,或者..如果与原始源相比,它在example-makedocument.py
前:
后:
python - 如何将 element.text 保存在 document.xml 中
我在 .docx 文档中进行了搜索和替换功能。我使用模块 python-docx:
此函数在 中查找文档标签{}
,用 a 验证它们TAG_LIST
并替换为VALUE_LIST
。我想element.text
在re.sub
功能后保存,但不知道该怎么做。我知道可以读取 的整个文本document.xml
,然后进行替换,但是将文本加载到缓冲区会花费大量内存。任何想法如何做到这一点?