前言

一、报错内容
二、解决方法

报错:
在我打开这个文档的时候:
docx.opc.exceptions.PackageNotFoundError: Package not found at

在这里插入图片描述

二、解决方法

第一步:首先确定自己的文档类型确实docx

因为doc完全不行

因为doc完全不行

因为doc完全不行

第二步:确定是不是空文档

如果是空文档的话也会报错,csdn博客上的解决方法都是增加空格。我随便打了点字。

因为空文档完全不行

因为空文档完全不行

因为空文档完全不行

第三步:更改docx名字

确定自己的不是空文档又是docx的,此时还是报这个错误,原因不明,但是也解决了。
就是重新改个名字,原因不明但是有效,反正我的是成功了。大概率是因为中文的原因。以后这个在Python环境里少用中文,过来人血的教训。

第四步:绝对路径

file=docx.Document("C:\\Users\\Administrator\\Desktop\\选择\\add.docx")

第五步 原本是doc文件直接改文件名为docx也会不行,具体原因不明

解决方法只能用wps打开文件另存为docx才可以,你说文件多怎么办,我也不知道,Python就是这点恶心,bug特别多,很多都是莫名其妙。

最后我成功的代码块

# -*-coding:  UTF-8
# @Time    :  2022/12/7 12:13
# @Author  :  Cooper
# @FileName:  test1.py
# @Software:  PyCharm
#读取docx中的文本代码示例
import docx
import os

print(os.getcwd())
#获取文档对象
with open("C:\\Users\\Administrator\\Desktop\\选择\\add.docx",'r',encoding='utf-8') as f:
    print('ok')
#读取docx中的文本代码示例
import docx
#获取文档对象
file=docx.Document("C:\\Users\\Administrator\\Desktop\\选择\\add.docx")
print("段落数:"+str(len(file.paragraphs)))#段落数为13,每个回车隔离一段

#输出每一段的内容
for para in file.paragraphs:
    print(para.text)

#输出段落编号及段落内容
for i in range(len(file.paragraphs)):
    print("第"+str(i)+"段的内容是:"+file.paragraphs[i].text)
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐