美文网首页
python文档处理问题解决:docx.opc.exceptio

python文档处理问题解决:docx.opc.exceptio

作者: 前端组件分享 | 来源:发表于2024-01-04 17:16 被阅读0次

原文链接:https://blog.csdn.net/nings666/article/details/134820079

解决:docx.opc.exceptions.PackageNotFoundError: Package not found at ‘xxx’

背景

报错问题

报错翻译

报错位置代码

报错原因

解决方法

参考内容

今天的分享就到此结束了

背景

在使用之前的代码时,报错:

Traceback (most recent call last):

File , line 1, in

file=docx.Document(“C:/Users/Administrator/Desktop/选择/add.doc”)

docx.opc.exceptions.PackageNotFoundError: Package not found at ‘xxx’

报错问题

  Traceback (most recent call last):

    File , line 1, in 

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

  docx.opc.exceptions.PackageNotFoundError: Package not found at ‘xxx’

报错翻译

主要报错信息内容翻译如下所示:

  Traceback (most recent call last):

    File , line 1, in 

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

  docx.opc.exceptions.PackageNotFoundError: Package not found at ‘xxx’

翻译:

  回溯(最近一次调用最后一次):

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

中的文件 “”,第 1 行

错误:未找到 rarfile 的匹配发行版

1

2

3

4

5

6

报错位置代码

...

import docx

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

    print(js)

...

报错原因

经过查阅资料,发现是使用docx.Document()读取文件的时候,支持读取 .docx 文件,不支持读取 .doc 文件,不是 .docx 需要转换成 .docx。

小伙伴们按下面的解决方法即可解决!!!

解决方法

要解决这个错误,需要使用wps打开文件另存为docx,才可以解决此问题。

正确的代码是:

...

import docx

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

for para in doc.paragraphs:

    print(para.text)

...

1

2

3

4

5

6

7

8

网上也找了很多其他答案,能够解决问题的还有以下几种:

因为word文件是空的,在文件里加一些内容就可以

在文件里加几个空格就可以解决

在使用SaveAs2()函数时,第二个参数代表存储格式,16代表的存储格式为doc,12代表的存储格式为docx。存储格式设置成12后,python-docx就能读取文件了,代码示例如下。

正确的代码如下:

# encoding=utf-8

from win32com import client as wc

w = wc.gencache.EnsureDispatch('kwps.application')

doc = w.Documents.Open(r"C:/Users/Administrator/Desktop/选择/add.doc")

doc.SaveAs2(r"C:/Users/Administrator/Desktop/选择/add.docx", 12) # 问题出在这,必须为12

使用上述例子时,还需要注意:

需要用到win32com这个包,不是Python内建的,需要通过python -m pip install pypiwin32安装。

要用gencache.EnsureDispatch这个函数才行,网上其他大神用的方法不行。另外,如果你的电脑只安装了WPS,函数参数就得是“kwps.application”,如果有Office,参数就不是这个了。

Open方法内的文件路径得用绝对路径,用相对路径的话我反正报错。

另存为不用SaveAs,要用SaveAs2,参数是绝对路径。

参考内容

100%解决docx.opc.exceptions.PackageNotFoundError: Package not found at

Python 将doc转化为docx

————————————————

版权声明:本文为CSDN博主「ninghes」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。

原文链接:https://blog.csdn.net/nings666/article/details/134820079

https://blog.csdn.net/nings666/article/details/134820079?spm=1001.2101.3001.6650.3&utm_medium=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-134820079-blog-133884201.235%5Ev40%5Epc_relevant_anti_t3&depth_1-utm_source=distribute.pc_relevant.none-task-blog-2%7Edefault%7EYuanLiJiHua%7EPosition-3-134820079-blog-133884201.235%5Ev40%5Epc_relevant_anti_t3&utm_relevant_index=6

相关文章

  • python日常使用问题1

    Python3 安装后SSL问题解决办法 参考文档: https://blog.csdn.net/u0134279...

  • Python基础之文件处理(二)

    Python基础文件处理 python系列文档都是基于python3 一、字符编码 在python2默认编码是AS...

  • Python处理docx文档

    应用场景: 根据数据源不同,处理tem.docx模板文档,输出目标result.docx文档。注意这里介绍的方法不...

  • Python 处理 Word文档

    方法一: python-docx 参考:python-docx 0.8.10 documentation 官方实例...

  • Python处理PDF文档-拆分&合并

    使用Python处理PDF文档。将需要处理的PDF文档与处理程序放到一个新建的文件夹中。运行程序。 S模式,将单个...

  • Python 小金库

    用python批量处理word文档 教你装逼了:怎么样发布你的 Python 代码给别人 “pip install...

  • 解决fitz模块报错

    解决fitz模块报错 使用Python处理PDF文档时,需要使用fitz模块。由于Python3.8与fitz有兼...

  • 使用python处理excel文档

    在这一小节,我们将会学习如何使用Python来操作Excel文档以及如何利用Python语言的函数和表达式操纵Ex...

  • 基本 Python 词汇

    本文档介绍了要理解“使用 Python 进行地理处理”的帮助文档需要掌握的一些词汇。 术语说明 ! PythonP...

  • 【Python 100天从新手到大师】图像和办公文档处理

    图像和办公文档处理 用程序来处理图像和办公文档经常出现在实际开发中,Python的标准库中虽然没有直接支持这些操作...

网友评论

      本文标题:python文档处理问题解决:docx.opc.exceptio

      本文链接:https://www.haomeiwen.com/subject/pvdbndtx.html