需求:最近在研究word文档的抽取,发现python中docx库只能提取以docx结尾的文件,因此需要将doc文件转换为docx。

基础知识了解

1.什么是doc?

汉语:文档(外语全称:Document)是电脑文件常见文件扩展名的一种,是微软Word2003以前版本的文本文档。

2.什么是docx?

docx是微软Word文件的扩展名,是微软Word2007之后版本使用的格式,其基于open XML的压缩格式。

3.doc和docx的区别?

doc和docx都是word的文件格式,doc格式是微软专用格式,并没有对外完全授权,而docx文件是doc文件的继承者。

存储方式来讲,doc采用二进制的存储方式,而docx采用xml的方式,其实际上是一个打包的压缩文件;

文件存储的大小来看,docx相对于doc可以节省很多的空间;

响应速度来看,docx也要比doc更快;

实现代码:

import os
from win32com import client as wcdef save_doc_to_docx(rawpath):  # doc转docx''':param rawpath: 传入和传出文件夹的路径:return: None'''word = wc.Dispatch("Word.Application")# 不能用相对路径,老老实实用绝对路径# 需要处理的文件所在文件夹目录filenamelist = os.listdir(rawpath)for i in os.listdir(rawpath):# 找出文件中以.doc结尾并且不以~$开头的文件(~$是为了排除临时文件的)if i.endswith('.doc') and not i.startswith('~$'):print(i)# try# 打开文件doc = word.Documents.Open(rawpath + i)# # 将文件名与后缀分割rename = os.path.splitext(i)# 将文件另存为.docxdoc.SaveAs(path + rename[0] + '.docx', 12)  # 12表示docx格式doc.Close()word.Quit()if __name__ == '__main__':path = 'C:UsersAdminDesktop'save_doc_to_docx(path)

doc转docx文件会乱吗_利用python将doc文件转换为docx相关推荐

  1. python 16bit转8bit的工具_利用python读取YUV文件 转RGB 8bit/10bit通用

    注:本文所指的YUV均为YUV420中的I420格式(最常见的一种),其他格式不能用以下的代码. 位深为8bit时,每个像素占用1字节,对应文件指针的fp.read(1): 位深为10bit时,每个像 ...

  2. 去掉java文件中的注释_利用JavaParser去除java文件中的注释

    利用JavaParser去除java文件中的注释 个人博客:记录一下在项目实施过程中的一些点 情景回顾 之前项目有个需求,就是去掉.java文件中的所有注释,常用的方法是用正则匹配.然而在网络上查找到 ...

  3. python 遍历文件夹下文件修改并保存_利用python完成自动化的任务之遍历文件夹修改文件之后并保存备份...

    #利用python完成自动化的任务 #遍历文件夹里面的所有的内容--然后打开---利用正则表达式修改文本的内容(re.sub)---然后写入到新的文本内容中 import docx import re ...

  4. python从文件中读取数据_【Python】从文件中读取数据

    从文件中读取数据 1.1 读取整个文件 要读取文件,需要一个包含几行文本的文件(文件PI_DESC.txt与file_reader.py在同一目录下) PI_DESC.txt 3.1415926535 ...

  5. python生成多级文件夹_利用 python 遍历多级文件夹处理不同文件

    需求:近期,同事在处理文件的时候,常常需要从一堆文件中提取一些数据信息: 分析:由于每个文件夹下面的文件或文件夹多如牛毛,文件类型也很多种,需要针对不同文件类型做处理,人工处理是不现实的,只能用脚本处 ...

  6. python入门文件读取与写入_使用Python对Dicom文件进行读取与写入的实现

    Pydicom 单张影像的读取 使用 pydicom.dcmread() 函数进行单张影像的读取,返回一个pydicom.dataset.FileDataset对象. import os import ...

  7. python复制文件到另一个文件夹并重命名_基于python实现复制文件并重命名

    方法: shutil.copy("c://ccc//模板.xlsx","c://ccc//新文件.xlsx") 需求: 已知的Excel模板格式.已知的文件命名 ...

  8. python计算csv列平均值_利用Python读取CSV文件并计算某一列的均值和方差

    近日需要对excel的csv文件进行处理,求取某银行历年股价的均值方差等一系列数据 文件的构成很简单,部分如下所示 总共有接近七千行数据,主要的工作就是将其中的股价数据提取出来,放入一个数组之中,然后 ...

  9. python对csv文件中的数据进行分类_利用Python对csv文件中的数据进行排序

    代码如下: #导入包 import pandas as pd from pandas import DataFrame,Series #设置路径 path='C:\\Users\\jyjh\\Desk ...

最新文章

  1. faceboxes自定义encode
  2. 数据库的七种传播方式
  3. File Transfer(并查集)
  4. 基于ReentrantLock发生死锁的解决方案
  5. wxWidgets:wxRichTextField类用法
  6. 从零开始React项目架构(四)
  7. C# 普通权限运行程序\非管理员运行\降低权限运行
  8. 百度网盘直接解析高速下载文件源码
  9. Python+sklearn机器学习应该了解的33个基本概念
  10. sqlserver模仿mysql函数FIND_IN_SET,group_concat的功能
  11. 微信硬件平台对接--蓝牙
  12. 服务器开机显示密码过期,Windows server提示密码过期 更改密码使用期限方法
  13. 更改dockers的host文件中的ip,当主机ip改变时,dockers无法启动。
  14. 使用 BEV 投影的高效城市规模点云分割
  15. 【银河麒麟V10】【服务器】IO调度算法与性能分析
  16. 视频目标检测与轨迹跟踪代码案例
  17. 用迭代法求Daubechies小波的尺度函数
  18. DeepMind科学家、AlphaTensor一作解读背后的故事与实现细节
  19. blender中旋转问题(A绕B的中心旋转)
  20. 数据库连接池 ( 五 ) Druid 数据监控

热门文章

  1. 为什么字节跳动、腾讯、阿里都在用 Python??
  2. 祝贺 Java 走过创新的 25 年
  3. 百度网盘就“用户激励计划”道歉;沈义人卸任 OPPO 全球营销总裁;Python 2.7.18 发布| 极客头条...
  4. 腾讯广告计算提速25%,腾讯云星星海SA2云服务器提供助力
  5. 一文读懂 Java 工程师学习路线!
  6. 如何实现自动化前端开发?
  7. 一文足以了解什么是 Java 中的锁
  8. 优秀的模糊测试代码是如何炼成的?
  9. 人工智能时代,我们需要什么样的芯片?| 码书
  10. 致程序员:学会这套操,下班比人早!