使用Python编辑word文档中的表格
- 介绍
- 效果
- 代码
- 代码解析
介绍
使用python修改word文档中的表格。
效果
修改前的word文档:
注意红框中的表格。
修改后的word文档:
表格内容已经修改。
代码
from docx import Document
# 加载现有的Word文档
doc = Document(r'C:\Users\Administrator\Desktop\Word文档\example.docx')
# 假设我们知道表格的位置(例如文档中的第一个表格)
table = doc.tables[0]
# 定义新的数据
new_data = [
["New Header1", "New Header2", "New Header3", "New Header4"],
["New Row1 Col1", "New Row1 Col2", "New Row1 Col3", "New Row1 Col4"],
["New Row2 Col1", "New Row2 Col2", "New Row2 Col3", "New Row2 Col4"]
]
# 将新数据填入表格
for row_idx, row_data in enumerate(new_data):
row = table.rows[row_idx]
for col_idx, cell_data in enumerate(row_data):
cell = row.cells[col_idx]
cell.text = cell_data
# 保存文档
doc.save(r'C:\Users\Administrator\Desktop\Word文档\example.docx')
代码解析
- 加载现有的文档
doc = Document('document_with_table.docx')
- 选择表格,文档可能有多个表格,用索引来选择表格。
table = doc.tables[0]
- 新数据,用来替换原表格的内容。
new_data = [
["New Header1", "New Header2", "New Header3", "New Header4"],
["New Row1 Col1", "New Row1 Col2", "New Row1 Col3", "New Row1 Col4"],
["New Row2 Col1", "New Row2 Col2", "New Row2 Col3", "New Row2 Col4"]
]
- 修改表格内容
for row_idx, row_data in enumerate(new_data):
row = table.rows[row_idx]
for col_idx, cell_data in enumerate(row_data):
cell = row.cells[col_idx]
cell.text = cell_data
- 在原文档上保存。
doc.save('document_with_modified_table.docx')