编程语言
首页 > 编程语言> > python-docx的安装和使用

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)

标签:docx,sub,re,python,char1,fout,安装
来源: https://www.cnblogs.com/mixiubaba/p/13448465.html