Python docx无法使用现有文档-没有名称为';标题';
我正在尝试制作一个基于文本文件创建文档的程序,到目前为止,它运行良好。我决定这样做,以便更容易地使用图像和其他在PythonDocx中不受支持/难以有效使用的东西。在使用完全相同的代码但使用Doc=document()时,我使用Doc=document(“template.docx”)。修改后,该文件将保存到另一个docx文件中。我在尝试使用模板时遇到这些错误。创建新文档时没有错误 回溯(最近一次呼叫最后一次):Python docx无法使用现有文档-没有名称为';标题';,python,python-3.x,python-docx,Python,Python 3.x,Python Docx,我正在尝试制作一个基于文本文件创建文档的程序,到目前为止,它运行良好。我决定这样做,以便更容易地使用图像和其他在PythonDocx中不受支持/难以有效使用的东西。在使用完全相同的代码但使用Doc=document()时,我使用Doc=document(“template.docx”)。修改后,该文件将保存到另一个docx文件中。我在尝试使用模板时遇到这些错误。创建新文档时没有错误 回溯(最近一次呼叫最后一次): 文件“C:\Users\bgrif\Desktop\QPA.py”,第45行,在
文件“C:\Users\bgrif\Desktop\QPA.py”,第45行,在
文件添加标题(“基茨帕28/02/2019”,0)
文件“C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site packages\docx\document.py”,第39行,添加标题
返回self.add_段落(文本、样式)
文件“C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site packages\docx\document.py”,第56行,添加段落
返回自我。添加段落(文本、样式)
文件“C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site packages\docx\blkcntnr.py”,添加段落第39行
段落风格=风格
文件“C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site packages\docx\text\paragration.py”,第111行,样式为
样式或名称,WD样式类型段落
文件“C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site packages\docx\parts\document.py”,第78行,在get\u style\u id中
返回self.styles.get\u style\u id(style\u或\u名称、style\u类型)
文件“C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site packages\docx\styles\styles.py”,第109行,在get\u style\u id中
返回self.\u从\u name(style\u或\u name,style\u type)获取\u style\u id\u
文件“C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site packages\docx\styles\styles.py”,第139行,从\u name获取\u style\u id\u
返回self.\u从\u style(self[style\u name],style\u type)获取\u style\u id\u
文件“C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site packages\docx\styles\styles.py”,第53行,在u getitem中__
raise KeyError(“没有名为“%s”的样式%key”)
KeyError:“没有名为“Title”的样式”
有人知道如何解决这个问题吗?提前感谢。编辑您的
模板.docx
文件以添加标题
样式:
标题
python docx
只能与文档中定义的样式一起使用,因此您需要将该样式添加到模板文档中才能使用它,而.add_heading(..,0)
调用就是这样做的。编辑模板.docx
文件以添加标题
样式:
标题
python docx
只能使用文档中定义的样式,因此您需要将该样式添加到模板文档中以使用它,而.add_heading(..,0)
调用就是这样做的
File "C:\Users\bgrif\Desktop\QPA.py", line 45, in <module>
Doc.add_heading("QuizPax 28/02/2019",0)
File "C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site-packages\docx\document.py", line 39, in add_heading
return self.add_paragraph(text, style)
File "C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site-packages\docx\document.py", line 56, in add_paragraph
return self._body.add_paragraph(text, style)
File "C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site-packages\docx\blkcntnr.py", line 39, in add_paragraph
paragraph.style = style
File "C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site-packages\docx\text\paragraph.py", line 111, in style
style_or_name, WD_STYLE_TYPE.PARAGRAPH
File "C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site-packages\docx\parts\document.py", line 78, in get_style_id
return self.styles.get_style_id(style_or_name, style_type)
File "C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site-packages\docx\styles\styles.py", line 109, in get_style_id
return self._get_style_id_from_name(style_or_name, style_type)
File "C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site-packages\docx\styles\styles.py", line 139, in _get_style_id_from_name
return self._get_style_id_from_style(self[style_name], style_type)
File "C:\Users\bgrif\AppData\Local\Programs\Python\Python37-32\lib\site-packages\docx\styles\styles.py", line 53, in __getitem__
raise KeyError("no style with name '%s'" % key)
KeyError: "no style with name 'Title'"