Python3-word文档操作(五):利用python修改word文档中的表格数据

1. 简介:

本篇继续学习python操作word文档的相关知识。本篇主要学习:

1)如何获取一个已经存在文档中的表格的内容;

2)如何修改一个已经存在文档中的表格的内容;

2. 获取word文档中的表格数据

代码如下:

def fetch_doc_table():
    doc_name = "念奴娇_赤壁怀古_1654065536.139004.docx"
    doc = docx.Document(doc_name)
    
    table = doc.tables[0]##获取表格
    table_rows =len(table.rows)#获取表的行数
    # table_cells =len(table.cells)#获取表的列数
    print("table_rows:",table_rows)
    # print("table_cells:",table_cells)
    for row in table.rows:
        for cell in row.cells:#获取一个单元格
            text_str = cell.text
            print(text_str)
        print("\n")

说明:

1)doc.tables[0]: 获取文档中的第一个表格;

2)table.rows:获取表格数据;

3)row.cells: 获取一个单元格数据;

4)cell.text:获取单元格的文本内容。

运行结果:

% python word_util.py

table_rows: 4

作者

朝代

李白

杜甫

苏轼

3. 修改word文档中的表格数据

代码如下:

#修改表格内容
def modify_doc_table():
    doc_name = "念奴娇_赤壁怀古_1654065536.139004.docx"
    doc = docx.Document(doc_name)

    value_list= ["王维","唐"]
    
    table = doc.tables[0]##获取表格
    table_rows =len(table.rows)#获取表的行数
    # table_cells =len(table.cells)#获取表的列数
    print("table_rows:",table_rows)
    # print("table_cells:",table_cells)
    for i in range(table_rows):
        row = table.rows[i]
        if i < table_rows-1:
            continue 
        else: #要修改的数据
            cells = row.cells
            print(cells)
            print(len(cells))
            for j in range(len(row.cells)):
                cell = row.cells[j]
                cell.text = u"" #清空
                run = cell.paragraphs[0].add_run(value_list[j])
                run.font.name = u'宋体'
                run.font.bold = True
    new_doc_name =  "念奴娇_赤壁怀古_1654065536.139004_modified.docx"
    doc.save(new_doc_name)

 说明:

1)run = cell.paragraphs[0].add_run(value_list[j]):给表格的单元格设置内容

 运行结果:

Python3-word文档操作(五):利用python修改word文档中的表格数据_第1张图片


 

 

你可能感兴趣的:(Python学习笔记,python,python,docx,python修改文件)