• python 好久不用,基础重拾系列(1,读取word(.doc&&.docx)2,批量转换.doc为.docx后缀 3,相对地址转绝对地址)


    直接给代码,因为注释已经很详细了。

     1 #读取docx中的文本代码示例
     2 import docx
     3 import os
     4 from win32com import client as wc
     5 #将doc转成docx
     6 def doSaveAas(doc_path,docx_path):
     7     word = wc.Dispatch('Word.Application')
     8     doc = word.Documents.Open(doc_path)  # 目标路径下的文件
     9     doc.SaveAs(docx_path, 12, False, "", True, "", False, False, False, False)  # 转化后路径下的文件
    10     doc.Close()
    11     word.Quit()
    12 
    13 #将相对路径转换乘绝对路径,同时调用转换文件进行转换,同时再顺便删除之前的文件
    14 def Dir_doc2docx(Dir_path):
    15     for file_name in os.listdir(Dir_path):
    16         print("AAAAAAAAAAAAAAAA")
    17         print("文件名:"+file_name)
    18         file_path = os.path.join(Dir_path, file_name)
    19         print("文件后缀:"+os.path.splitext(file_name)[1] )
    20         if os.path.splitext(file_name)[1] == '.doc':
    21             abs_file_path=os.path.abspath(file_path)
    22             print("绝对路径:"+abs_file_path)
    23             doSaveAas(abs_file_path,abs_file_path+'x')
    24         try:
    25             os.remove(file_path)
    26         except:
    27             continue
    28 
    29 if __name__ =="__main__":
    30     #获取文档对象
    31     Dir_path="..data"
    32     Dir_doc2docx(Dir_path)
    33     file_name=os.listdir(Dir_path)[1]
    34     file_path = os.path.join(Dir_path, file_name)
    35     print(file_path)
    36     file=docx.Document(file_path)
    37     print("段落数:"+str(len(file.paragraphs)))#段落数为13,每个回车隔离一段
    38     #输出每一段的内容
    39     for para in file.paragraphs:
    40         print(para.text)
    41     #输出段落编号及段落内容
    42     for i in range(len(file.paragraphs)):
    43         print(""+str(i)+"段的内容是:"+file.paragraphs[i].text)
  • 相关阅读:
    SQL 从查询结果里查询
    c++函数返回局部变量
    《Android源代码设计模式解析与实战》读书笔记(二十)
    也谈学习
    Ejb in action(一)——开篇介绍
    Re-ID with Triplet Loss
    AFNetworking、ASIHTTPRequest中SSL的使用
    BZOJ 1982: [Spoj 2021]Moving Pebbles [博弈论 对称]
    BZOJ 3895: 取石子[SG函数 搜索]
    BZOJ 2463: [中山市选2009]谁能赢呢?[智慧]
  • 原文地址:https://www.cnblogs.com/smartisn/p/13887592.html
Copyright © 2020-2023  润新知