You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何使用Jupyter Python将xls表格指定列内容写入docx文件

从XLS工作表提取指定3列写入DOCX的操作方法

前置准备:安装依赖库

你需要用到三类Python工具库:pandas用于读取处理XLS表格数据,openpyxl/xlrd用于解析Excel文件,python-docx用于生成Word文档。
执行以下命令安装:

pip install pandas openpyxl python-docx
# 若你使用的是.xls(Excel 97-2003)旧格式文件,额外执行以下命令
pip install xlrd==1.2.0

实现代码

# 导入所需库
import pandas as pd
from docx import Document

# 1. 读取XLS文件,替换为你自己的文件路径
# 如果是.xls格式,把engine参数改成'xlrd'
df = pd.read_excel("你的数据文件.xlsx", engine="openpyxl")

# 2. 提取指定的3列,把括号里的列名替换为你实际需要的列名
# 如果想用列索引选择(比如选第1、3、5列,索引从0开始),可以写成 selected_df = df.iloc[:, [0,2,4]]
selected_df = df[["列名1", "列名2", "列名3"]]

# 3. 创建Word文档对象
doc = Document()

# 可选:添加文档标题
doc.add_heading("提取的表格数据", level=1)

# 4. 在Word中插入表格,行数为数据行数+1(表头行),列数为3
table = doc.add_table(rows=selected_df.shape[0]+1, cols=3)
# 设置表格带边框样式,可删除
table.style = "Table Grid"

# 5. 写入表头行
hdr_cells = table.rows[0].cells
hdr_cells[0].text = selected_df.columns[0]
hdr_cells[1].text = selected_df.columns[1]
hdr_cells[2].text = selected_df.columns[2]

# 6. 逐行写入数据
for i in range(selected_df.shape[0]):
    row_cells = table.rows[i+1].cells
    row_cells[0].text = str(selected_df.iloc[i, 0])
    row_cells[1].text = str(selected_df.iloc[i, 1])
    row_cells[2].text = str(selected_df.iloc[i, 2])

# 7. 保存Word文档,替换为你想要的保存路径
doc.save("输出的结果文件.docx")

注意事项

  • 代码中的列名需要和你XLS文件里的列名完全一致,包括大小写、空格
  • 如果你的数据存在空值,写入时会显示为nan,可以在提取列后添加selected_df = selected_df.fillna('')把空值替换为空字符串
  • 生成的Word表格样式可以自行调整python-docx的相关参数修改

内容的提问来源于stack exchange,提问作者Sara

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.18 18:36:03