Python Word 表格? 要用 Python 操作 Microsoft Word 中的表格,一般需要使用到 Document Object Model (DOM) 来解释文档的层次结构。DOM 中主要包括了 element, attribute 和 text 三种节点类型。在 Word 中,每个表格都是由一个等级为 1 的 element 表示,其中包含了多个等级为 2 的 element 行,每行又包含了多个等级为 3 的 element 单元格。 在 Python 中,可以使用 python-docx 库来访问和操作 Word 文档中的表格。python-docx 是一个支持 Python3 的库,可以用来创建和修改Word 2007+文档(.docx文件)。 读取 Word 表格 很多时候我们需要从一个已有的 Word 文件中读取表格数据,可以使用 python-docx 库来进行读取和解析。具体代码实现请参考以下示例代码:```
from docx import Document
path = 'test.docx'
doc = Document(path)
tables = doc.tables
# 输出文件中表格个数
print('表格个数:', len(tables))
# 遍历文档中所有表格
for table in tables:
rows = table.rows
for row in rows:
cells = row.cells
for cell in cells:
print(cell.text, end=' | ')
print()```
文档中存在多个表格的,可以使用类似于 `tables[0]` 这样的方式来选择需要操作的表格。
生成 Word 表格 相比于读取 Word 表格,创建和修改 Word 表格相对来说比较简单。下面的代码实现了插入 3 行 3 列的表格。```
from docx import Document
from docx.enum.table import WD_TABLE_ALIGNMENT
from docx.shared import Pt, RGBColor
from docx.oxml.ns import qn
path = 'test.docx'
doc = Document()
# 添加表格
table = doc.add_table(rows=3, cols=3)
# 表格格式设置
table.style = 'Table Grid'
font = table.style.font
font.name = '微软雅黑'
table.alignment = WD_TABLE_ALIGNMENT.CENTER # 居中对齐
table.allow_autofit = True # 自动调整列宽
# 设置表格列宽
col0 = table.columns[0]
col1 = table.columns[1]
col0.width = col1.width = Pt(100)
# 设置表格行高
table.rows[0].height = Pt(30)
# 设置表格单元格背景色
row = table.rows[0]
cell = row.cells[0]
cell.vertical_alignment = WD_ALIGN_VERTICAL.CENTER
cell.paragraphs[0].add_run('第一行第一列').font.color.rgb = RGBColor(255, 255, 255)
cell.paragraphs[0].alignment = WD_TABLE_ALIGNMENT.CENTER
# 表格单元格字体格式设置
for row in range(1, 3):
for col in range(3):
table.cell(row, col).text = f'第{row+1}行第{col+1}列'
cell = table.cell(row, col)
cell.vertical_alignment = WD_ALIGN_VERTICAL.CENTER
run = cell.paragraphs[0].add_run(cell.text)
run.bold = True
run.font.color.rgb = RGBColor(35, 181, 184)
run.font.size = Pt(10)
run.font.name = '微软雅黑'
cell._element.rPr.rFonts.set(qn('w:eastAsia'), '微软雅黑')
doc.add_paragraph()
# 保存文档
doc.save(path)``` 此代码实现了如下内容:
1. 创建一个新的无样式的表格,大小为 3 行 3 列。
2. 设置表格格式:字体、背景色、列宽、行高等。
3. 在第一列第一行单元格的位置填写文本。
4. 将表格中每个单元格的字体格式设置为加粗、字体大小为 10、字体颜色为 RGB(35,181,184) 的微软雅黑。
5. 保存 Word 文件。
Python是优秀的办公自动化工具,通过python-docx等众多库和工具,我们可以实现 Word 表格的读取和创建等功能,方便实用。当然,具体的使用还需要根据实际情况来确定。在我们的日常工作中,有许多表格需要手动填写,通过Python可以方便地实现表格创建和数据的批量导入等操作。