精华内容
下载资源
问答
  • python调用com,如何完成word表格操作word中doc这个格式的文件是微软特有格式,微软没有向外公开任何的api接口文档,只能通过微软提供的OLE组件来提其COM接口,只要你的机器上安装了Offices完整的办公软件,在安装...

    python调用com,如何完成word表格操作

    word中doc这个格式的文件是微软特有格式,微软没有向外公开任何的api接口文档,只能通过微软提供的OLE组件来提其COM接口,只要你的机器上安装了Offices完整的办公软件,在安装目录下面有个MSWORD.OLB组件,导入这个即可。

    1、相关操作Excel有MSPPT.OLB,EXCEL.exe等。

    python操作word文档表格

    office 2007中不能直接打开VB编辑器,请按Alt + F11打开。

    import win32com.client # 导入脚本模块 WordApp = win32com.client.Dispatch("Word.Application") # 载入WORD模块 WordApp.Visible = True # 显示Word应用程序 1、 新建Word文档 doc = WordApp.Documents.Add() # 新建空文件 doc = WordApp.Documents.Open(r"d:\2011专业考试计划.doc") # 打开指定文档 doc.SaveAs(r"d:\2011专业考试计划.doc") # 文档保存 doc.Close(-1) # 保存后关闭,doc.Close()或doc.Close(0)直接关闭不保存 2、 页面设置 doc.PageSetup.PaperSize = 7 # 纸张大小, A3=6, A4=7 doc.PageSetup.PageWidth = 21*28.35 # 直接设置纸张大小, 使用该设置后PaperSize设置取消 doc.PageSetup.PageHeight = 29.7*28.35 # 直接设置纸张大小 doc.PageSetup.Orientation = 1 # 页面方向, 竖直=0, 水平=1 doc.PageSetup.TopMargin = 3*28.35 # 页边距上=3cm,1cm=28.35pt doc.PageSetup.BottomMargin = 3*28.35 # 页边距下=3cm doc.PageSetup.LeftMargin = 2.5*28.35 # 页边距左=2.5cm doc.PageSetup.RightMargin = 2.5*28.35 # 页边距右=2.5cm doc.PageSetup.TextColumns.SetCount(2) # 设置页面分栏=2 3、 格式设置 sel = WordApp.Selection # 获取Selection对象 sel.InsertBreak(8) # 插入分栏符=8, 分页符=7 sel.Font.Name = "黑体" # 字体 sel.Font.Size = 24 # 字大 sel.Font.Bold = True # 粗体 sel.Font.Italic = True # 斜体 sel.Font.Underline = True # 下划线 sel.ParagraphFormat.LineSpacing = 2*12 # 设置行距,1行=12磅 sel.ParagraphFormat.Alignment = 1 # 段落对齐,0=左对齐,1=居中,2=右对齐 sel.TypeText("XXXX") # 插入文字 sel.TypeParagraph() # 插入空行 注:ParagraphFormat属性必须使用TypeParagraph()之后才能二次生效

    如何用python读取word

    使用Python的内部方法open()读取文本文件try:f=open('/file','r')print(f.read())finally:if f:f.close()如果读取word文档推荐使用第三方插件,python-docx 可以在官网上下载使用方式# -*- coding: cp936 -*-import docxdocument = docx.Document(文件路径)docText = '\n\n'.join([paragraph.text.encode('utf-8') for paragraph in document.paragraphs])print docText

    如何用python读取excel文件

    展开全部 >>> app=my.Office.Word.GetInstance()>>> doc=app.Documents[0]>>> table=doc.Tables[1]>>> table.Cell(1,1).Select()>>> app.Selection.MoveDown(Unit=5, Count=2, Extend=1)>>> app.Selection.Cells.Merge()>>>my.Office.Word.GetInstance()用win32com得到Word的Application对象的实例我所使用的样本word文件中包含两个Table第二个Table是想要修改的table.Cell(1,1).Select()用于选中这个样表的第一个单元格app.Selection.MoveDown用于获得向下多选取3个单元格app.Selection.Cells.Merge()用于执行合并工作 ...

    Python 读取文档各行中同一列数据并按首尾相接合并输出到另一个文...

    展开全部 假设数据存储在文件 test.txt中,程序如下(未经测试,大概是这么个意思)lines=open(r'test.txt').readlines()text=[]for line in lines: word=line.split() thirdword=word[2].strip() text.append(thirdword)result=''.join(text)print result...

    怎么用python读取txt文件里指定行的内容,并导入excel

    展开全部 如果文件不大,建议使用下面的方法。

    由于linecache会缓存,所以对大文件可以使用自己简单是实现getline如下:def getline(thefilepath, desired_line_number):if desired_line_number < 1: return ''for current_line_number, line in enumerate(open(thefilepath, 'rU')):if current_line_number == desired_line_number - 1 : return linereturn ''...

    展开全文
  • import sys import re from docx import Document from docx.enum.text import WD_ALIGN_PARAGRAPH #设置对象居中、对齐等。 from docx.enum.text import WD_TAB_ALIGNMENT,WD_TAB_LEADER #设置制表符等 ...
    import sys
    import re
    from docx import Document
    from docx.enum.text import WD_ALIGN_PARAGRAPH #设置对象居中、对齐等。
    from docx.enum.text import WD_TAB_ALIGNMENT,WD_TAB_LEADER #设置制表符等
    from docx.shared import Inches #设置图像大小
    from docx.shared import Pt #设置像素、缩进等
    from docx.shared import RGBColor #设置字体颜色
    from docx.shared import Length #设置宽度
    # print(sys.argv[1])
    # print('123123')
    # reload(sys)
    # sys.setdefaultencoding('utf-8')
    try:
        url=sys.argv[1]
        document = Document(url)
        p = re.compile("作废")
        s = re.compile("未实施")
        ps = document.tables
        for table in ps:
            for row in table.rows:
                for cell in row.cells:
                    if re.search(p, cell.text):
                        # print(cell.text)
                        a=cell.text
                        cell.text=''
                        run= cell.paragraphs[0].add_run(a)
                        run.font.color.rgb=RGBColor(255,0,0)
                        run.bold=True
                        cell.paragraphs[0].alignment=WD_ALIGN_PARAGRAPH.CENTER
                        run.font.size=Pt(14)
                    if re.search(s, cell.text):
                        # print(cell.text)
                        a=cell.text
                        cell.text=''
                        run= cell.paragraphs[0].add_run(a)
                        run.font.color.rgb=RGBColor(0,0,255)
                        run.bold=True
                        cell.paragraphs[0].alignment=WD_ALIGN_PARAGRAPH.CENTER
                        run.font.size=Pt(14)
                    
        document.save(url)
        print('success')
    except:
        print('error')
    
    展开全文
  • 一、修改数据类型(中英)需求:代码:#-*-coding:gbk*-import osimport docx#from docx.enum.table import WD_TABLE_ALIGNMENTfrom docx.enum.text import WD_ALIGN_PARAGRAPHfilepath = r'f:/1/'def main():...

    一、修改数据类型(中英)

    需求:

    1383841-20190220154257918-847958095.png

    代码:

    #-*-coding:gbk*-

    import os

    import docx

    #from docx.enum.table import WD_TABLE_ALIGNMENT

    from docx.enum.text import WD_ALIGN_PARAGRAPH

    filepath = r'f:/1/'

    def main():

    docxlist = os.listdir(filepath)

    for mydocx in docxlist:

    newdocx = docx.Document(filepath + str(mydocx))

    #newdocx.paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER

    table = newdocx.tables

    for oTable in table:

    rows_num = len(oTable.rows)

    columns_num = len(oTable.columns)

    if columns_num >= 5:

    for j in range(rows_num):

    #English -> Chinese

    ostring = oTable.cell(j, 3).text

    oTable.cell(j, 4).paragraphs[0].paragraph_format.alignment = WD_ALIGN_PARAGRAPH.CENTER

    if ostring == 'TIMESTAMP':

    oTable.cell(j, 3).text = ostring.replace("TIMESTAMP", "时间戳")

    oTable.cell(j, 4).text = ""

    elif ostring == 'VARCHAR2':

    oTable.cell(j, 3).text = ostring.replace("VARCHAR2", "字符串")

    if ostring == 'DATE':

    oTable.cell(j, 3).text = ostring.replace("DATE", "日期")

    oTable.cell(j, 4).text = ""

    elif ostring == 'NUMBER':

    oTable.cell(j, 3).text = ostring.replace("NUMBER", "整数")

    elif ostring == 'FLOAT':

    oTable.cell(j, 3).text = ostring.replace("FLOAT", "小数")

    #oTable.alignment = WD_TABLE_ALIGNMENT.CENTER

    newdocx.save('f:/2/'+ str(mydocx))

    if __name__ == '__main__':

    main()

    二、数据类型为日期时,清空位数内容

    需求:

    1383841-20190220154028119-292595581.png

    代码:

    #!/usr/bin/python3

    # -*- coding: utf-8 -*-

    # @Time : 2019/2/20 14:12

    # @File : date_del.py

    from docx import Document # 导入库

    """

    word表格中

    """

    path = "C:\\Users\\1\\Desktop\\福建省质监局标准信息资源目录.docx" # 文件路径

    document = Document(path) # 读入文件

    tables = document.tables # 获取文件中的表格集

    one_cells = []

    for table in tables:

    rows_num = len(table.rows)

    columns_num = len(table.columns)

    if rows_num > 2 and columns_num == 4:

    for i in range(1, rows_num): # 第二行开始

    if table.cell(i, 3).text == '日期' or table.cell(i, 1).text == '日期':

    one_cells.append(table.cell(0, 1).text)

    for j in range(0, columns_num):

    if table.cell(0, 1).text in one_cells:

    if table.cell(i, j).text == '位数':

    table.cell(i, j + 1).text = ''

    document.save("C:\\Users\\1\\Desktop\\1\\福建省质监局标准信息资源目录.docx")

    # 校验修改内容

    for i in one_cells:

    print(i)

    三、表格中添加单元格

    需求:

    1383841-20190225161906953-1925928810.png

    参考:https://www.jianshu.com/p/9da61bf35cb7

    代码:

    #!/usr/bin/python3

    # -*- coding: utf-8 -*-

    # @Time : 2019/2/25 9:52

    # @File : table_add_cell.py

    from docx import Document

    from docx.enum.text import WD_ALIGN_PARAGRAPH

    from docx.oxml.ns import qn

    from docx.shared import Pt

    """

    word表格,添加一个单元格以及内容

    """

    path = "C:\\Users\\1\\Desktop\\成都市质量技术监督局标准层信息资源目录.docx" # 文件路径

    document = Document(path) # 读入文件

    # 设置字体为: 宋体

    document.styles['Normal'].font.name = u'宋体'

    document.styles['Normal']._element.rPr.rFonts.set(qn('w:eastAsia'), u'宋体')

    tables = document.tables # 获取文件中的tables

    # 被修改表格的列表

    one_cells = []

    def match_table():

    """

    遍历文档匹配满足条件的表格

    :return:

    """

    for table in tables:

    rows_num = len(table.rows)

    columns_num = len(table.columns)

    if rows_num > 2 and columns_num == 4:

    one_text = table.cell(0, 1).text

    if len(one_text) == 29:

    one_cells.append(one_text)

    end_text = table.cell(rows_num - 1, columns_num - 1).text

    if end_text:

    # 添加一行

    table.add_row()

    set_font(table, 5, 0)

    else:

    set_font(table, rows_num - 1, columns_num - 2)

    document.save("C:\\Users\\1\\Desktop\\1\\python_word_table_add_cell.docx")

    def set_font(table, a, b):

    """

    设置表格字体样式

    :param table: 表格

    :param a: 行坐标

    :param b: 列坐标

    :return:

    """

    run = table.cell(a, b).paragraphs[0].add_run(u'信息资源生产格式') # 内容为:信息资源生产格式

    run.bold = True # 加粗

    run.font.size = Pt(9) # 字体大小:小五-9

    table.cell(a, b).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER # 居中

    run1 = table.cell(a, b + 1).paragraphs[0].add_run(u'ORACLE')

    run1.font.size = Pt(9)

    table.cell(a, b + 1).paragraphs[0].alignment = WD_ALIGN_PARAGRAPH.CENTER

    def check_data():

    # 校验修改内容

    for i in one_cells:

    print(i)

    if __name__ == '__main__':

    match_table()

    check_data()

    展开全文
  • https://www.csdn.net/gather_24/Mtjagg0sNTc1MjYtYmxvZwO0O0OO0O0O.html简介在上面的博客中,主要介绍了... 表格样式修改2. 列宽高设置3. 属性设置(居中)4. 给每个单元格赋值5. 设置表格边框模板设置只需要在wo...

    https://www.csdn.net/gather_24/Mtjagg0sNTc1MjYtYmxvZwO0O0OO0O0O.html

    简介

    在上面的博客中,主要介绍了如何合并、拆分表格等,中间用到了一些表格的基本设置,比如,指定表格样式,内容居中等,在这篇博客中,详细介绍这一部分

    需求

    1. 表格样式修改

    2. 列宽高设置

    3. 属性设置(居中)

    4. 给每个单元格赋值

    5. 设置表格边框

    模板设置

    只需要在word中插入以下标签

    {{p mysubdoc}}

    watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjY3MDY1Mw==,size_16,color_FFFFFF,t_70

    实现一:表格样式修改

    1. 代码

    from docxtpl import DocxTemplate

    from docxtpl import Document

    from docx.shared import Inches

    import re

    import json

    import collections

    tpl = DocxTemplate('test.docx')

    sd = tpl.new_subdoc()

    sd.add_paragraph('Drug Table :')

    rows=3

    cols=4

    ###创建表格的时候,指定style,这个style可以是docx的样式,例如"Table Grid"

    ###style也可以是在word中自定义的表格样式

    table = sd.add_table(rows=rows, cols=cols ,style='outertable')

    #header

    cells = table.rows[0].cells

    cells[0].text="Gene"

    cells[1].text="Drug"

    cells[2].text="Rank"

    cells[3].text="Description"

    table.cell(1,0).text="ALK"

    table.cell(1,1).text="GENE1"

    table.cell(1,2).text="GENE2"

    table.cell(1,3).text="haha"

    #

    # #https://python-docx.readthedocs.io/en/latest/api/table.html#docx.table.Table.style

    # #merge

    table.cell(2,0).merge(table.cell(2,3)).text="One Drug"

    context = {

    'mysubdoc' : sd,

    }

    tpl.render(context)

    tpl.save('vertical_merge.docx')

    上面的add_table还可以写成下面的格式

    table = sd.add_table(rows=rows, cols=cols)

    table.style = "outertable"

    2. 结果

    20200512174318558.png

    实现二:列宽高设置

    1. 代码

    若不特殊指定列宽,则每列会平均分配

    需要注意的是,Cm设置失败,不起作用,原因不明

    from docxtpl import DocxTemplate

    from docxtpl import Document

    from docx.shared import Inches

    import re

    import json

    import collections

    from docx.shared import Cm

    from docx.oxml.shared import OxmlElement, qn

    tpl = DocxTemplate('test.docx')

    sd = tpl.new_subdoc()

    sd.add_paragraph('Drug Table :')

    rows=3

    cols=4

    table = sd.add_table(rows=rows, cols=cols,style="outertable")

    width = OxmlElement('w:tblW')

    width.set(qn('w:type'), 'pct')

    width.set(qn('w:w'), '5000')

    table._tblPr.append(width)

    #header

    cells = table.rows[0].cells

    cells[0].text="Gene"

    cells[1].text="Drug"

    cells[2].text="Rank"

    cells[3].text="Description"

    table.cell(1,0).text="ALK"

    table.cell(1,1).text="GENE1"

    table.cell(1,2).text="GENE2"

    table.cell(1,3).text="haha"

    # #merge

    table.cell(2,0).merge(table.cell(2,3)).text="One Drug"

    table.rows[0].height = Cm(2)

    col_width = [1,2,3,4]

    for col in range(4):

    table.cell(0,col).width = Inches(col_width[col])

    #需要注意的是,Cm设置失败,不起作用

    # table.cell(0,0).width = Cm(1)

    # table.cell(0,1).width = Cm(2)

    # table.cell(0,2).width = Cm(3)

    # table.cell(0,3).width = Cm(4)

    context = {

    'mysubdoc' : sd,

    }

    tpl.render(context)

    tpl.save('vertical_merge.docx')

    2. 结果

    watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjY3MDY1Mw==,size_16,color_FFFFFF,t_70

    实现三:属性设置

    1. 代码

    除了直接指定style之外,还可以对具体一个属性进行设置,比如常用的居中设置

    有表格的居中以及表格文本的居中

    表格的居中设置

    from docx.enum.table import WD_TABLE_ALIGNMENT

    table = sd.add_table(rows=rows, cols=cols,style="outertable")

    table.alignment = WD_TABLE_ALIGNMENT.CENTER

    不过我们一般说的居中指的是表格里文本的居中

    水平居中

    直接设置整个表格居中 CENTER LEFT RIGHT

    table.style.paragraph_format.alignment=WD_PARAGRAPH_ALIGNMENT.CENTER

    或者也可以

    table.style.paragraph_format.alignment=WD_TABLE_ALIGNMENT.CENTER

    from docxtpl import DocxTemplate

    from docxtpl import Document

    from docx.shared import Inches

    import re

    import json

    import collections

    from docx.shared import Cm

    from docx.oxml.shared import OxmlElement, qn

    from docx.enum.text import WD_PARAGRAPH_ALIGNMENT

    tpl = DocxTemplate('test.docx')

    sd = tpl.new_subdoc()

    sd.add_paragraph('Drug Table :')

    rows=3

    cols=4

    table = sd.add_table(rows=rows, cols=cols,style="outertable")

    width = OxmlElement('w:tblW')

    width.set(qn('w:type'), 'pct')

    width.set(qn('w:w'), '5000')

    table._tblPr.append(width)

    #header

    cells = table.rows[0].cells

    cells[0].text="Gene"

    cells[1].text="Drug"

    cells[2].text="Rank"

    cells[3].text="Description"

    table.cell(1,0).text="ALK"

    table.cell(1,1).text="GENE1"

    table.cell(1,2).text="GENE2"

    table.cell(1,3).text="haha"

    # #merge

    table.cell(2,0).merge(table.cell(2,3)).text="One Drug"

    ##设置标题行的高度

    table.rows[0].height = Cm(2)

    ##设置每一列的宽度

    col_width = [1,2,3,4]

    for col in range(4):

    table.cell(0,col).width = Inches(col_width[col])

    #水平居中

    table.style.paragraph_format.alignment=WD_PARAGRAPH_ALIGNMENT.CENTER

    context = {

    'mysubdoc' : sd,

    }

    tpl.render(context)

    tpl.save('vertical_merge.docx')

    也可以挨个为每个cell,设置水平居中

    from docxtpl import DocxTemplate

    from docxtpl import Document

    from docx.shared import Inches

    import re

    import json

    import collections

    from docx.shared import Cm

    from docx.oxml.shared import OxmlElement, qn

    from docx.enum.text import WD_ALIGN_PARAGRAPH

    tpl = DocxTemplate('test.docx')

    sd = tpl.new_subdoc()

    sd.add_paragraph('Drug Table :')

    rows=3

    cols=4

    table = sd.add_table(rows=rows, cols=cols,style="outertable")

    width = OxmlElement('w:tblW')

    width.set(qn('w:type'), 'pct')

    width.set(qn('w:w'), '5000')

    table._tblPr.append(width)

    #header

    cells = table.rows[0].cells

    cells[0].text="Gene"

    cells[1].text="Drug"

    cells[2].text="Rank"

    cells[3].text="Description"

    table.cell(1,0).text="ALK"

    table.cell(1,1).text="GENE1"

    table.cell(1,2).text="GENE2"

    table.cell(1,3).text="haha"

    # #merge

    table.cell(2,0).merge(table.cell(2,3)).text="One Drug"

    ##设置标题行的高度

    table.rows[0].height = Cm(2)

    ##设置每一列的宽度

    col_width = [1,2,3,4]

    for col in range(4):

    table.cell(0,col).width = Inches(col_width[col])

    ###为每一列设置居中

    for row in range(3):

    for col in range(4):

    cell = table.cell(row, col)

    pa = cell.paragraphs[0]

    pa.alignment = WD_ALIGN_PARAGRAPH.CENTER ##居中

    context = {

    'mysubdoc' : sd,

    }

    tpl.render(context)

    tpl.save('vertical_merge.docx')

    垂直居中

    目前我还不知道,如何给整个表格设置垂直居中

    垂直共有3种格式:CENTER TOP BOTTOM

    from docxtpl import DocxTemplate

    from docxtpl import Document

    from docx.shared import Inches

    import re

    import json

    import collections

    from docx.shared import Cm

    from docx.oxml.shared import OxmlElement, qn

    from docx.enum.text import WD_PARAGRAPH_ALIGNMENT,WD_ALIGN_PARAGRAPH

    from docx.enum.table import WD_ALIGN_VERTICAL

    tpl = DocxTemplate('test.docx')

    sd = tpl.new_subdoc()

    sd.add_paragraph('Drug Table :')

    rows=3

    cols=4

    table = sd.add_table(rows=rows, cols=cols,style="outertable")

    width = OxmlElement('w:tblW')

    width.set(qn('w:type'), 'pct')

    width.set(qn('w:w'), '5000')

    table._tblPr.append(width)

    #header

    cells = table.rows[0].cells

    cells[0].text="Gene"

    cells[1].text="Drug"

    cells[2].text="Rank"

    cells[3].text="Description"

    table.cell(1,0).text="ALK"

    table.cell(1,1).text="GENE1"

    table.cell(1,2).text="GENE2"

    table.cell(1,3).text="haha"

    # #merge

    table.cell(2,0).merge(table.cell(2,3)).text="One Drug"

    ##设置标题行的高度

    table.rows[0].height = Cm(2)

    ##设置每一列的宽度

    col_width = [1,2,3,4]

    for col in range(4):

    table.cell(0,col).width = Inches(col_width[col])

    #水平居中

    #table.style.paragraph_format.alignment=WD_PARAGRAPH_ALIGNMENT.CENTER

    ###为每一列设置居中

    for row in range(3):

    for col in range(4):

    cell = table.cell(row, col)

    pa = cell.paragraphs[0]

    pa.alignment = WD_ALIGN_PARAGRAPH.CENTER ##水平居中

    cell.vertical_alignment = WD_ALIGN_VERTICAL.CENTER ##垂直居中

    context = {

    'mysubdoc' : sd,

    }

    tpl.render(context)

    tpl.save('vertical_merge.docx')

    2. 结果

    水平居中的结果

    watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjY3MDY1Mw==,size_16,color_FFFFFF,t_70

    垂直居中的结果

    watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80MjY3MDY1Mw==,size_16,color_FFFFFF,t_70

    实现四:给每个单元格赋值

    1. 代码

    第一种如上方代码

    table.cell(1,0).text="ALK"

    第二种

    run是比paragraphs更小的单位

    cell = table.cell(i + 1, col)

    pa = cell.paragraphs[0]

    pa.add_run("xxxxx")

    实现五:设置表格边框

    docx包比较贴近word底层结构,想要读明白需要花点功夫。

    这里是给表格的每个单元格设置边框

    insertH ,insertV:不用于单元格

    color: 边框颜色,RRGGBB格式,不需要加#

    val: 边框样式,例如single: 单行,none:无框线,dashed:虚线

    from docx.oxml.shared import OxmlElement, qn

    from docxtpl import DocxTemplate, InlineImage, RichText

    from docx.oxml import parse_xml

    #设置单元格的边框

    def set_cell_border(self, cell, **kwargs):

    """

    Set cell`s border

    Usage:

    set_cell_border(

    cell,

    top={"sz": 12, "val": "single", "color": "FF0000", "space": "0"},

    bottom={"sz": 12, "color": "00FF00", "val": "single"},

    left={"sz": 24, "val": "dashed", "shadow": "true"},

    right={"sz": 12, "val": "dashed"},

    )

    """

    tc = cell._tc

    tcPr = tc.get_or_add_tcPr()

    tcBorders = tcPr.first_child_found_in("w:tcBorders")

    if tcBorders is None:

    tcBorders = OxmlElement('w:tcBorders')

    tcPr.append(tcBorders)

    for edge in ('left', 'top', 'right', 'bottom', 'insideH', 'insideV'):

    edge_data = kwargs.get(edge)

    if edge_data:

    tag = 'w:{}'.format(edge)

    # check for tag existnace, if none found, then create one

    element = tcBorders.find(qn(tag))

    if element is None:

    element = OxmlElement(tag)

    tcBorders.append(element)

    # looks like order of attributes is important

    for key in ["sz", "val", "color", "space", "shadow"]:

    if key in edge_data:

    element.set(qn('w:{}'.format(key)), str(edge_data[key]))

    def table():

    doc = DocxTemplate('xxx.docx')

    sd = doc.new_subdoc()

    table = sd.add_table(rows=1, cols=2)

    set_cell_border(table.cell(0,0), bottom={"sz": 6, "color": "#000000", "val": "single"})

    展开全文
  • 很久之前写了一篇文章,是把excel内的数据放入word的模板当中批量生成新的word文件,今天碰到一个需求是要从大量的word模板中的表格提取信息,放入excel中,这次运气很好,拜读了大佬的文章,简单修改一下直接运行...
  • python根据表格内容修改word 有两张表格,一张放着各产品简介,一张放着各产品的参数说明,需要提取各简介,然后再根据参数补充内容,结合在一起生成各个产品的综合介绍。虽然在产品数量不多的情况下可以手动整理,...
  • 两个简单的word文档, 各有一个表格:读取文档中的表格到列表(为演示只对单列表格操作):import docxdef 取表格(文件名):文件 = docx.Document(文件名)首个表 = 文件.tables[0]值 = []for 行 in 首个表.rows:for 格 in...
  • pythonword表格转写入excel

    千次阅读 2019-09-30 20:15:57
    想将一份 word 文件中的几个表格转写入 excel 文件中,后续用 excel 处理。 用到 python-docx 和 pandas 分别处理 word 和 excel。 安装 python-docx:pip install python-docx,它不接受 .doc 文件,先转存为 .docx...
  • 使用python-docx编辑一个docx文档时, 对添加的方法使用很多, 但有时候也会用到删除和修改python-docx中并没有提供delete()方法, github上给出了解决方法:...(paragraph):p = paragraph._ele...
  • Github链接: https://github.com/dududu7/wc_project1. PSP2.1表格PSP2.1Personal Software Process Stages预估耗时(分钟)实际耗时(分钟)Planning计划1020· Estimate· 估计这个任务需要多少时间1015...
  • 使用 python 修改 word 文档说明:这个需求是老师想要一个自动识别 word 文档中指定位置的分数,并填入相应表格。使用库 python-docx 的官方文档地址是:python-docx一、安装 python-docx 库文件在 cmd 命令行中使用...
  • Python 操作 Excel常用工具数据处理是 Python 的一大应用场景,而 Excel 又是当前最流行的数据处理软件。因此用 Python 进行数据处理时,很容易会和 Excel 打起交道。得益于前人的辛勤劳作,Python 处理 Excel 已有...
  • 因为这是word表格,不能用Excel中的随机函数,且表格较多(60几个),手动修改浪费时间。所以选用python来解决该问题。 思路:类似于网页爬虫,利用docx包读取文件 1、安装python-docx:pip install python-docx ...
  • 今天学习了关于word表格修改数据,插入图片的知识。Word表格跟对普通的文章段落处理不太一样,下面我就用我学校的请假条表格来带大家一一分析。 1.导入python-docx库 在cmd中导入该库 pip install python-docx 下面...
  • 展开全部>>> app=my.Office.Word.GetInstance()>>> doc=app.Documents[0]>>> print doc.NameVBA工具集.doc>>> doc.Tables.Count2>>> table=doc.Tables[1]>>> table.Cell(1,1).Select()>>> app.Selection.MoveEnd...
  • 使用Python生成HTML表格基本没啥难度,for循环遍历一遍数据并输出标签即可。 如果需要实现合并单元格,或者按需调整表格样式,就比较麻烦了。这时,可以试试本文的主角 ——html-table包,借助它可生成各种样式的...
  • python 批量填写word表格

    千次阅读 2020-03-22 22:01:21
    今天因为老爸下乡扶贫工作,要填很多word表格,一张表一张表填写显然太慢了,就简单写了一个python代码去处理。大体上就是使用docx库来批量填写word表格,至于word表格的数据来源是使用xlrd库从excel表格中读取出来...
  • 本文简单地介绍了如何使用python修改word文档中的内容。例子与代码word文档的内容是一封表扬信,内容见下图: 表扬信.png现在需要通过python对,”表扬信.docx”文档进行修改,需要修改的地方已在图中标记出。第一个...
  • python更新word内容.rar

    2020-05-07 17:37:27
    通过python更新word中特定位置内容,根据数据多少自动增加word表格的行数,修改表格宽度等功能。
  • 原标题:Python 自动化办公 | 将 Word 表格转为 Excel 大家好,今天有一个公务员的小伙伴委托我给他帮个忙,大概是有这样一份Word(由于涉及文件私密所以文中的具体内容已做修改) 一共有近2600条类似格式的表格细栏,...
  • 概述本次主要来讨论如何用python-docx修改表格样式,修改表格的文字。全面的文章1.表格样式修改1.1 新建表格新建表格主要使用Document.add_table(rows,cols,style)方法第一个参数是行数第二个参数是列数第三个参数是...
  • python对Excel中数据的处理把你的写入excel 的内容编码一哈例如str('内容').encode('utf-8') 或者str('内容').encode('gbk')再写入excel 试试python 修改excel表格的问题把你的写入excel 的内容编码一哈例如str('...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 6,781
精华内容 2,712
关键字:

python修改word表格内容

python 订阅