在Python中处理Word文档中的表格,你可以使用`python-docx`库。以下是一些基本操作:
安装`python-docx`库
如果你还没有安装`python-docx`库,可以使用pip进行安装:
pip install python-docx
向Word文档中添加表格
from docx import Document创建一个新的Word文档doc = Document()添加表格table = doc.add_table(rows=3, cols=3)填充表格内容for i in range(3):for j in range(3):table.cell(i, j).text = f'Row {i+1}, Column {j+1}'保存Word文档doc.save('example.docx')
读取Word文档中的表格
from docx import Documentdef read_table_from_word(file_path):加载现有的Word文档doc = Document(file_path)读取文档中的所有表格for i, table in enumerate(doc.tables):print(f'Table {i+1}:')for row in table.rows:for cell in row.cells:print(cell.text, end=' | ')print() 每一行结束后换行调用函数,输出Word文件中表格数据read_table_from_word('example.docx')
自定义表格样式

你可以根据需要自定义表格的行数、列数和内容,甚至修改已有表格的样式。例如:
添加一个3行4列的表格,并指定样式doc.add_table(rows=3, cols=4, style='Table Grid')
删除表格
删除表格是指删除整个表格。以下是一个示例代码:
定位第一个表格table = doc.tables删除表格table._element.getparent().remove(table._element)
提取Word文档表格写入其他格式文件
你可以提取Word文档中的表格数据,并将其写入文本文件、CSV文件或Excel工作表。以下是一个示例代码,演示如何提取Word文档中的表格数据并写入文本文件:
from docx import Documentdef extract_tables_to_text_file(file_path, output_path):创建一个 Document 实例doc = Document()加载一个 Word 文档doc.LoadFromFile(file_path)遍历各个节,获取所有表格for section in doc.sections:for table in section.tables:创建一个字符串以储存表格数据table_data = []遍历表格的各列,以及列中的各个单元格for row in table.rows:row_data = []for cell in row.cells:row_data.append(cell.text)table_data.append(row_data)将每个字符串保存为一个文本文件with open(output_path + f'_table_{len(doc.tables)}.txt', 'w', encoding='utf-8') as f:for row_data in table_data:f.write(' | '.join(row_data) + '\n')调用函数,提取表格数据并写入文本文件extract_tables_to_text_file('example.docx', 'output')
以上代码示例展示了如何使用`python-docx`库进行基本的Word表格操作,包括创建、读取、自定义样式和删除表格,以及将表格数据提取并写入其他文件格式。如果你需要更复杂的操作,比如格式化表格或处理受保护的文档,你可能需要查阅更详细的文档或寻求其他库的帮助。
