python中的doc_利用python将doc文件转换为docx

需求:最近在研究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 wc

def 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)

# 将文件另存为.docx

doc.SaveAs(path + rename[0] + '.docx', 12) # 12表示docx格式

doc.Close()

word.Quit()

if __name__ == '__main__':

path = 'C:\\Users\\Admin\\Desktop\\'

save_doc_to_docx(path)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值