您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:python 实现docx与doc文件的互相转换

51自学网 2021-10-30 22:49:31
  python
这篇教程python 实现docx与doc文件的互相转换写得很实用,希望能帮到您。

因文件格式要求,需要将docx 与doc文件相互转换,特寻找python代码,与大家共分享

from win32com import client#转换doc为docxdef doc2docx(fn):  word = client.Dispatch("Word.Application") # 打开word应用程序  #for file in files:  doc = word.Documents.Open(fn) #打开word文件  doc.SaveAs("{}x".format(fn), 12)#另存为后缀为".docx"的文件,其中参数12或16指docx文件  doc.Close() #关闭原来word文件  word.Quit()#转换docx为docdef docx2doc(fn):  word = client.Dispatch("Word.Application") # 打开word应用程序  #for file in files:  doc = word.Documents.Open(fn) #打开word文件  doc.SaveAs("{}".format(fn[:-1]), 0)#另存为后缀为".docx"的文件,其中参数0指doc  doc.Close() #关闭原来word文件  word.Quit()docx2doc(u"d://python//1.docx")

如果想转换为其他格式文件,需要在format文件名内修改,并用如下save as 参数

如docx转换为pDf,用如下语句:

doc.SaveAs("{}.pdf".format(fn[:-5]), 17)

需要说明的是:

要安装OFFICE,如果是使用金山WPS的,则还不能应用

补充:python批量将文件夹内所有doc转成docx

doc转docx函数

import osfrom win32com import client def doc_to_docx(path):  if os.path.splitext(path)[1] == ".doc":    word = client.Dispatch('Word.Application')    doc = word.Documents.Open(path) # 目标路径下的文件    doc.SaveAs(os.path.splitext(path)[0]+".docx", 16) # 转化后路径下的文件    doc.Close()    word.Quit() path = ""#填写文件夹路径doc_to_docx(path)

获取文件夹下的所有文件的绝对路径

import os def find_file(path, ext, file_list=[]):  dir = os.listdir(path)  for i in dir:    i = os.path.join(path, i)    if os.path.isdir(i):      find_file(i, ext, file_list)    else:      if ext == os.path.splitext(i)[1]:        file_list.append(i)  return file_list  dir_path = ""ext = ".doc"file_list = find_file(dir_path, ext)

源码

import osfrom win32com import client def doc_to_docx(path):  if os.path.splitext(path)[1] == ".doc":    word = client.Dispatch('Word.Application')    doc = word.Documents.Open(path) # 目标路径下的文件    doc.SaveAs(os.path.splitext(path)[0]+".docx", 16) # 转化后路径下的文件    doc.Close()    word.Quit() def find_file(path, ext, file_list=[]):  dir = os.listdir(path)  for i in dir:    i = os.path.join(path, i)    if os.path.isdir(i):      find_file(i, ext, file_list)    else:      if ext == os.path.splitext(i)[1]:        file_list.append(i)  return file_list  dir_path = "C:/Users/python"#批量转换文件夹ext = ".doc"file_list = find_file(dir_path, ext)for file in file_list:  doc_to_docx(file)

以上为个人经验,希望能给大家一个参考,也希望大家多多支持51zixue.net。如有错误或未考虑完全的地方,望不吝赐教。


使用pyqt5搭建yolo3目标识别界面的方法
Python OpenCV招商银行信用卡卡号识别的方法
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。