如何在Python中将Word中的表格写入Excel,以及如何将Excel中的数据写入Word。我们将使用 python-docx
和 openpyxl
这两个库来完成这项任务。
1. 将Word中的表格写入Excel
1.1 安装所需库
首先,确保安装了 python-docx
和 openpyxl
:
pip install python-docx openpyxl
1.2 从Word中提取表格数据
示例:从Word文档提取表格数据
from docx import Document
# 读取Word文档
doc = Document('input.docx')
# 提取第一个表格
table = doc.tables[0]
# 提取表格数据
data = []
for row in table.rows:
data.append([cell.text for cell in row.cells])
# 打印提取的数据
for row in data:
print(row)
说明:
Document('input.docx')
读取Word文档。doc.tables[0]
选择文档中的第一个表格。- 遍历表格的每一行,将每行的单元格文本存储到
data
列表中。
示例输出:
['Header1', 'Header2', 'Header3']
['Row1Col1', 'Row1Col2', 'Row1Col3']
['Row2Col1', 'Row2Col2', 'Row2Col3']
1.3 将数据写入Excel
示例:将提取的数据写入Excel文件
from openpyxl import Workbook
# 创建一个新的Excel工作簿
wb = Workbook()
ws = wb.active
# 写入数据
for row in data:
ws.append(row)
# 保存Excel文件
wb.save('output.xlsx')
说明:
Workbook()
创建新的Excel工作簿。ws.append(row)
将每行数据写入Excel。wb.save('output.xlsx')
保存Excel文件。
2. 将Excel中的数据写入Word
2.1 从Excel中读取数据
示例:从Excel文件读取数据
import openpyxl
# 读取Excel文件
wb = openpyxl.load_workbook('input.xlsx')
ws = wb.active
# 提取数据
data = []
for row in ws.iter_rows(values_only=True):
data.append(row)
# 打印提取的数据
for row in data:
print(row)
说明:
openpyxl.load_workbook('input.xlsx')
读取Excel文件。ws.iter_rows(values_only=True)
提取工作表中的所有数据。
示例输出:
('Header1', 'Header2', 'Header3')
('Row1Col1', 'Row1Col2', 'Row1Col3')
('Row2Col1', 'Row2Col2', 'Row2Col3')
2.2 将数据写入Word
示例:将数据写入Word文档中的表格
from docx import Document
# 创建一个新的Word文档
doc = Document()
# 添加一个表格
table = doc.add_table(rows=1, cols=len(data[0]))
# 添加表头
hdr_cells = table.rows[0].cells
for i, header in enumerate(data[0]):
hdr_cells[i].text = str(header)
# 添加数据行
for row in data[1:]:
cells = table.add_row().cells
for i, value in enumerate(row):
cells[i].text = str(value)
# 保存Word文件
doc.save('output.docx')
说明:
Document()
创建新的Word文档。doc.add_table(rows=1, cols=len(data[0]))
添加表格并设置初始行数和列数。- 填充表头和数据行。
doc.save('output.docx')
保存Word文档。
3. 完整说明文档
以下是整个处理流程的完整说明文档:
3.1 将Word中的表格写入Excel
-
安装库
pip install python-docx openpyxl
-
从Word提取表格数据
from docx import Document doc = Document('input.docx') table = doc.tables[0] data = [] for row in table.rows: data.append([cell.text for cell in row.cells]) for row in data: print(row)
-
将数据写入Excel
from openpyxl import Workbook wb = Workbook() ws = wb.active for row in data: ws.append(row) wb.save('output.xlsx')
3.2 将Excel中的数据写入Word
-
从Excel读取数据
import openpyxl wb = openpyxl.load_workbook('input.xlsx') ws = wb.active data = [] for row in ws.iter_rows(values_only=True): data.append(row) for row in data: print(row)
-
将数据写入Word
from docx import Document doc = Document() table = doc.add_table(rows=1, cols=len(data[0])) hdr_cells = table.rows[0].cells for i, header in enumerate(data[0]): hdr_cells[i].text = str(header) for row in data[1:]: cells = table.add_row().cells for i, value in enumerate(row): cells[i].text = str(value) doc.save('output.docx')
以上是如何在Python中将Word文档中的表格写入Excel文件,以及如何将Excel中的数据写入Word文档的详细步骤和示例。希望这能帮助你完成相关任务!
标签:docx,Word,python,cells,Excel,Excle,data,row From: https://blog.csdn.net/pumpkin84514/article/details/141506238