Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/281.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python docx无法使用现有文档-没有名称为';标题';_Python_Python 3.x_Python Docx - Fatal编程技术网

Python 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行,在

我正在尝试制作一个基于文本文件创建文档的程序,到目前为止,它运行良好。我决定这样做,以便更容易地使用图像和其他在PythonDocx中不受支持/难以有效使用的东西。在使用完全相同的代码但使用Doc=document()时,我使用Doc=document(“template.docx”)。修改后,该文件将保存到另一个docx文件中。我在尝试使用模板时遇到这些错误。创建新文档时没有错误

回溯(最近一次呼叫最后一次):

文件“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
文件以添加
标题
样式:

  • 打开文件并通过按Enter键创建新段落
  • 选择该段落,并为其指定段落样式
    标题
  • 删除该段
  • 保存文件并重试代码
  • 在Word中,样式库和拾取列表中会显示大量预定义的段落样式。Word应用程序知道这些样式的属性,但在首次使用这些样式之前,Word不会在文档中实际存储任何样式。之后,即使未被任何内容使用,它们也会保留在该文档中


    python docx
    只能与文档中定义的样式一起使用,因此您需要将该样式添加到模板文档中才能使用它,而
    .add_heading(..,0)
    调用就是这样做的。

    编辑
    模板.docx
    文件以添加
    标题
    样式:

  • 打开文件并通过按Enter键创建新段落
  • 选择该段落,并为其指定段落样式
    标题
  • 删除该段
  • 保存文件并重试代码
  • 在Word中,样式库和拾取列表中会显示大量预定义的段落样式。Word应用程序知道这些样式的属性,但在首次使用这些样式之前,Word不会在文档中实际存储任何样式。之后,即使未被任何内容使用,它们也会保留在该文档中

    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'"