解决python大批量读写.doc文件的问题

这篇文章主要介绍了关于解决python大批量读写.doc文件的问题,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

前言:

java语言读写.doc的出现乱码问题:

大家都知道当我们利用java语言读写.doc文件时,无论是利用流的方式将.doc文件的内容输出到控制台(console),还是将其写到其他文件中,无论你采取何种编码格式(utf-8,gbk等)输出,你看到的内容99%都是乱码。

java语言读写.doc的出现乱码问题原因分析:

立即学习“Python免费学习笔记(深入)”;

.doc文件是微软开发的用于办公的编辑文字的软件之一,如果说一篇word文档的字体格式采用的是utf-8,那么你采用utf-8格式读写该文档,应该能够正确输出汉字,但是一旦你的word文档里面的字体的尺寸改变,字体加上颜色属性,字体加上某种style时,那么本篇word文档的格式就变了,而不再是utf-8,因此采用utf-8格式输出99%都是乱码。

利用java语言读写.doc文档避免乱码的解决方案:(sun公司pk微软公司)

可以利用sun公司开发的poi包,该包提供修改微软办公软件的接口,利用poi包读写.doc文件,通常就不会产生乱码。如果看到这里你就大概认为,我终于可以利用java去处理.doc文件了,那么我想说的是,你开心的太早了。据我所知,截止到2017年12月22日,poi包的最新版本是3.1.7版,你也许对该版本没有什么概念,3.1.7版本的poi包只能处理微软2007版本的word,excel,ppt等,也就是说poi3.1.7版本的jar包不支持处理咱们电脑上顶配的word2016,因此可以说你可以放弃使用java读写word2016了。但是你也可以尝试用其他的接口去处理word,但是效率都不会比poi接口高,幸运的是,官网显示poi最新版本将在2017年12月份推出,但是截止到2017年12月22日,我还没有在官网看到此jar包。

正文:

python在处理文档的语言处理方面比java更胜一筹,毕竟python结合正则表达式在自然语言处理方面还是很强势的。最近在做深度学习的项目,需要解析并处理几百个数量级的.doc文件。众所周知,python读写.txt文档可以说一路畅通无阻,不管你中文是什么格式;python在读写.docx文档时,也比较畅通,最多你需要在命令行安装python-docx (0.8.6),就可以读写.docx文档了,具体读写方案,下述。

问题:python无法读取.doc文件(而不是.docx文件)

解决方案:利用python将大批.doc文件转化为.docx文件,再读写.docx文件

问题分析:python利用python-docx (0.8.6)库可以读取.docx文件或.txt文件,且一路畅通无阻,而对.doc文件本身python是无能为力的,那有很多同学就不服气,我手动把.doc文件的后缀名改为.docx或.txt不就解决问题了吗?答案是不能的,简单修改后缀名,那么文件就被你玩坏了,别说打不开,就是打开也是天书啊(乱码)。python无法操作.doc文件是他的先天不足,但是我们不要钻牛角尖一定要在互联网上找到一种源码直接读取.doc文件,一调用就好了,但是不幸的是,你可能在网上也找不到解决方案。正当我一筹莫展之时,我将.doc文档利用手动的方式“另存为”.docx文档,就能够成功打开转化后的.docx文档,于是我就尝试利用代码方式完成这个手动的“另存为”功能,问题得以解决。

直接上python代码(首先你需要先安装pypewin32库):

# -*- coding: utf-8 -*-:import sysimport pickleimport reimport codecsimport stringimport shutilfrom win32com import client as wc

登录后复制

def doSaveAas(): # 想批处理文件,你就用for循环呗,我一次性处理了100多个文件,代码执行不超过2分钟,可以解决问题,目标文件路径可以自由改动,大家注意SaveAs方法中的参数,好多啊,别写错了

登录后复制

word = wc.Dispatch('Word.Application')doc = word.Documents.Open(u'C:\Users\X\PycharmProjects\1\大家好.doc')  # 目标路径下的文件doc.SaveAs(u'C:\Users\X\PycharmProjects\1\我是一枚小小的程序员X007.docx', 12, False, "", True, "", False, False, False, False) # 转化后路径下的文件 doc.Close()word.Quit()

登录后复制

转化为.docx文件后,在处理.docx文件,一路畅通无阻,网上很多解决方案,这里我就不详细说了,有问题,可以给我留言哟

相关推荐:

解决python删除文件的权限错误问题

以上就是解决python大批量读写.doc文件的问题的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2262425.html

(0)
上一篇 2025年2月27日 06:54:24
下一篇 2025年2月27日 01:07:53

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • Python 批量合并多个txt文件的实例讲解

    这篇文章主要介绍了关于python 批量合并多个txt文件的实例讲解,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 实例如下所示: # -*- coding:utf-8 -*-  #os模块中包含很多操作文件和目录的函数 i…

    编程技术 2025年2月27日
    200
  • Python使用OpenCV进行标定

    这篇文章主要介绍了关于python使用opencv进行标定,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 本文结合OpenCV官方样例,对官方样例中的代码进行修改,使其能够正常运行,并对自己采集的数据进行实验和讲解。 一、准…

    2025年2月27日
    200
  • Python 统计字数的思路详解

    这篇文章主要介绍了python 统计字数的思路详解,文中还给大家提供了不借助第三方模块的解决方法,感兴趣的朋友一起看看吧  问题描述: 用 Python 实现函数 count_words(),该函数输入字符串 s 和数字 n,返回 s 中 …

    编程技术 2025年2月27日
    200
  • 编程中常用的语言有哪些种类

    编程语言种类包括:编译型语言:提高执行速度(例:C、Java)解释型语言:逐行执行,速度较慢(例:Python、JavaScript)面向对象语言:强调数据封装、继承(例:C++、Python)面向过程语言:强调程序流程(例:C、Fortr…

    2025年2月27日
    200
  • Python 使用PIL numpy 实现拼接图片

    这篇文章主要介绍了关于python 使用pil numpy 实现拼接图片,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 python纵向合并任意多个图片,files是要拼接的文件list # -*- coding:utf-8…

    编程技术 2025年2月27日
    200
  • 编程语言入门哪个比较实用

    最适用的入门编程语言:Python:简单好用,适用于数据科学、Web 开发和自动化。Java:稳定可靠,适用于企业软件和移动应用程序开发。C++:高性能、适用于操作系统和游戏开发。JavaScript:易于使用,适用于Web 应用程序和移动…

    2025年2月27日
    200
  • 对Python 网络设备巡检脚本的实例讲解

    这篇文章主要介绍了关于对python 网络设备巡检脚本的实例讲解,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下 1、基本信息 我公司之前采用的是人工巡检,但奈何有大量网络设备,往往巡检需要花掉一上午(还是手速快的话),浪费时…

    2025年2月27日
    200
  • 计算机编程语言有几种

    截至 2023 年 3 月,已知存在超过 700 种编程语言。它们可根据特性和用途进行分类,如面向过程、面向对象和函数式语言等。目前最流行的语言包括 Python、C、Java、C++ 和 C# 等。选择编程语言取决于项目需求、开发人员技能…

    2025年2月27日
    200
  • Python基于win32ui模块创建弹出式菜单

    这篇文章主要介绍了python基于win32ui模块创建弹出式菜单,结合实例形式分析了python使用win32ui模块创建弹出式菜单的具体步骤与相关操作技巧,并附带说明了win32ui模块的安装命令,需要的朋友可以参考下 本文实例讲述了P…

    编程技术 2025年2月27日
    200
  • 编程的软件是用什么语言编写的

    编程语言是一种正式语言,用于程序员与计算机交互,描述计算机应执行的任务。常用的编程语言包括:C++、Java、Python、C# 和 JavaScript。每种语言都有其优点和缺点,选择取决于项目需求和目标平台。 编程软件的语言 编程软件本…

    2025年2月27日
    200

发表回复

登录后才能评论