从文件列表中打开 docx 文档
Open docx documents from list of files
我有一长串 docx 文件存储在几个目录中,我需要在这些文件中搜索包含特定字符串的文档。
我的所有文件都在这样的列表中(来自 pandas df 列):
文件=['C:\AAA\BBB\file1.docx','G:\CCC\DDD\file2.docx'...]
我也有这样一个字符串列表:
字符串=['hksdhus','jshaòohse','iueoiwu']
这是我的代码:
for string in strings:
for file in files:
doc=docx.Document(file)
for para in doc.paragraphs:
if string in para.text:
print(string+' is in '+file)
break
else:
print(string+' not found')
break
它总是给我“找不到字符串”,因为我认为它根本没有读取文件;如果我尝试 print(para.text) 它会让我一片空白。
谁能帮我解决这个问题?
提前感谢您的任何建议
您的代码只检查第一段,因为无论是否找到字符串,在检查第一段之后您都有 break
。
删除 3 行 else 块并重试。您可以只删除最后一行的 break
,但如果您将它留在那儿,那将为文档中的每个段落打印一条 string not found
消息。
我有一长串 docx 文件存储在几个目录中,我需要在这些文件中搜索包含特定字符串的文档。
我的所有文件都在这样的列表中(来自 pandas df 列):
文件=['C:\AAA\BBB\file1.docx','G:\CCC\DDD\file2.docx'...]
我也有这样一个字符串列表: 字符串=['hksdhus','jshaòohse','iueoiwu']
这是我的代码:
for string in strings:
for file in files:
doc=docx.Document(file)
for para in doc.paragraphs:
if string in para.text:
print(string+' is in '+file)
break
else:
print(string+' not found')
break
它总是给我“找不到字符串”,因为我认为它根本没有读取文件;如果我尝试 print(para.text) 它会让我一片空白。
谁能帮我解决这个问题?
提前感谢您的任何建议
您的代码只检查第一段,因为无论是否找到字符串,在检查第一段之后您都有 break
。
删除 3 行 else 块并重试。您可以只删除最后一行的 break
,但如果您将它留在那儿,那将为文档中的每个段落打印一条 string not found
消息。