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

Python实现Word表格转Excel时删除指定行列及插入图片的方法

前置依赖安装

执行以下命令安装所需第三方库:
pip install python-docx pandas openpyxl


调整后完整代码

from docx.api import Document
import pandas as pd
from openpyxl import load_workbook
from openpyxl.drawing.image import Image

# 读取docx文档
document = Document("D:/tmp/test.docx")
tables = document.tables
data_list = []

# 提取表格内容(替换原废弃的append方法,适配高版本pandas)
for table in tables:
    for row in table.rows:
        row_text = [cell.text for cell in row.cells]
        data_list.append(row_text)
df = pd.DataFrame(data_list)

# 给列赋值(根据实际列数调整,示例是2列,若列数更多可扩展)
df.columns = ["Column1", "Column2"]

# ========== 功能1:删除指定行和列 ==========
# 删除索引为0、1、2的行
df = df.drop(index=[0,1,2]).reset_index(drop=True)
# 删除列索引为0、1、2的列,*注意:示例只有2列,直接运行会报错,请根据实际列数调整索引,比如只删前2列可写[0,1]*
# df = df.drop(columns=df.columns[[0,1,2]], axis=1).reset_index(drop=True)

# 导出基础Excel文件
excel_path = "D:/tmp/test.xlsx"
df.to_excel(excel_path, index=False)

# ========== 功能2:插入图片到Excel ==========
wb = load_workbook(excel_path)
ws = wb.active
# 替换为你自己的图片路径
img = Image("D:/tmp/test_pic.png")
# 调整图片尺寸(可选)
img.width, img.height = 300, 200
# 指定图片插入的单元格位置(示例为A10,可自定义)
ws.add_image(img, "A10")
# 保存修改后的Excel
wb.save(excel_path)

print(df)

代码说明

  • 原代码使用的df.append方法在pandas 2.0及以上版本已经废弃,调整为用列表先收集所有行数据再统一生成DataFrame,运行效率更高也兼容新版本
  • 删除行列操作可根据你的实际数据量调整索引值,原示例数据只有3行,删除0/1/2行后会得到空表,实际使用请确认你的docx表格有更多行
  • 插入图片功能可自定义图片路径、尺寸、插入位置,满足不同场景需求

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.17 02:27:04