循环文件夹 - 从文档中提取标题1 - 提取到新文档

时间:2016-08-09 22:38:00

标签: python docx python-docx

我正在尝试从存储在目录中的文档中提取标题1.

我对python非常陌生,所以我的经验非常有限。

我的代码不起作用,它有语法和结构错误。

代码返回未定义的错误文档。

import os

from docx import Document


#document = Document('C:\\Users\\Work\\Desktop\\Docs')

mydir ="C:\\Users\\Work\\Desktop\\Docs\\"
for arch in os.listdir(mydir):
archpath = os.path.join(mydir, arch)
with open(archpath) as f:

    for paragraph in document.paragraphs:

     if paragraph.style.name == 'Heading 1':

      print(paragraph.text)

    document.save = Document('headings.docx')

我已经在堆栈和互联网上进行了研究,但我没有找到任何显示如何在文件夹中循环文档的内容。

我是否以正确的方式设置了代码? 如何遍历目录中的文档并将标题1提取到新文档。

1 个答案:

答案 0 :(得分:0)

要获取可以迭代的文件列表,可以使用:

import os
os.chdir("path/to/files")
lists_of_files = os.listdir(os.getcwd())

然后

for i in list_of_files:
    #extract heading from file i

为了提取标题,您可以使用python的本地docx module。链接指向SO答案,您可以在其中找到从doc文件中获取整个数据的方法。通过这种方式,您可以获得标题。然而,Haven没有试过这些方法。