主页 > 知识库 > python 实现docx与doc文件的互相转换

python 实现docx与doc文件的互相转换

热门标签:北京外呼电销机器人招商 云南地图标注 电销机器人 金伦通信 400电话 申请 条件 crm电销机器人 汕头电商外呼系统供应商 郑州智能外呼系统中心 南京crm外呼系统排名 宾馆能在百度地图标注吗

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

from win32com import client
#转换doc为docx
def 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为doc
def 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 os
from 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 os
from 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)

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

您可能感兴趣的文章:
  • python-docx文件路径问题的解决方案
  • python-docx文件定位读取过程(尝试替换)
  • python操作docx写入内容,并控制文本的字体颜色
  • 基于python的docx模块处理word和WPS的docx格式文件方式
  • Python使用docx模块实现刷题功能代码
  • python-docx 页面设置详解

标签:昆明 锡林郭勒盟 文山 西宁 石家庄 梅州 怀化 浙江

巨人网络通讯声明:本文标题《python 实现docx与doc文件的互相转换》,本文关键词  python,实现,docx,与,doc,文件,;如发现本文内容存在版权问题,烦请提供相关信息告之我们,我们将及时沟通与处理。本站内容系统采集于网络,涉及言论、版权与本站无关。
  • 相关文章
  • 下面列出与本文章《python 实现docx与doc文件的互相转换》相关的同类信息!
  • 本页收集关于python 实现docx与doc文件的互相转换的相关信息资讯供网民参考!
  • 企业400电话

    智能AI客服机器人
    15000

    在线订购

    合计11份范本:公司章程+合伙协议+出资协议+合作协议+股权转让协议+增资扩股协议+股权激励+股东会决议+董事会决议

    推荐文章