python-docx的安裝和使用


python-docx的安裝和使用

1. 安裝python-docx

  1. python install python-docx
  2. 返回如下界面表示安裝成功

2. 基本功能使用

  1. 導包:from docx import Document
  2. tmp文件可以用excel打開,打開后選擇ASC碼或者utf-8
    # 創建文檔對象
    document = Document(r'C:\Users\WM\Desktop\syntophone\python\python-docx/判斷題.docx')

    # 讀取文檔中所有的段落列表
    ps = document.paragraphs
    # 每個段落有兩個屬性:style和text
    ps_detail = [(x.text, x.style.name) for x in ps]
    with open('out.tmp', 'w+', encoding='utf-8') as fout:
        fout.write('')
    # 讀取段落並寫入一個文件    
  1. 典型文件內容處理
    1)文件處理中常用到python內置re包,因為re搜索支持正則表達式
    2)re.search(查找字符串,被查找內容) # 返回結果為True/False
  1. re.sub(被替換字符串,替換字符串,內容) # 返回替換后結果
    4)下方代碼為從技能鑒定題庫中提取出選擇題題干
    5)對於tmp文件,使用excel打開后,'\n'為換行,'\t'為同一行的下一列
    6)因此,在下方程序中,通過判斷數字+'.'確認改行內容為題干,添加'\n',表示進入下一個題,
    7)下一個段落里面如果沒有數字+'.',說明是本題的后續題干和選項,字符串拼接。對拼接后的字符串做替換,括號內內容清空,防止大括號內內容被識別為'\t'導致進入下一列
    8)[]內添加ABCD,表示只要包含以上內容,后面跟頓號,就替換為'\t'
    # 選擇題題干處理
    with open('out.tmp', 'a+', encoding='utf-8') as fout:
        char1 = ''
        for p in ps_detail:
            if re.search('^\d+\. *', p[0]):
                fout.write(char1.strip()+'\n')
                char1 = p[0]
                char1 = re.sub('^\d+\. *', '\n', char1)
                char1 = re.sub('[ABCD]、', '\t', char1)
                char1 = re.sub('\(.*?\)', '()', char1)
            else:
                char1 += p[0]
                char1 = re.sub('[ABCD]、', '\t', char1)
                char1 = re.sub('\(.*?\)', '()', char1)


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM