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

如何用Python提取Word文档双栏内容并存储为DataFrame?

提取Word两栏会议数据到DataFrame的实现方案

先装依赖

需要用到python-docx处理Word文档,pandas生成DataFrame,执行安装命令:

pip install python-docx pandas

两种常见场景的代码实现

场景1:文档是两列表格(表头列+内容列)

大部分会议模板会用表格规整两栏内容,直接遍历表格行提取即可:

import docx
import pandas as pd

# 加载目标Word文档
doc = docx.Document("会议文档.docx")

headers = []
contents = []

# 遍历文档中的表格(假设目标表格是第一个,可根据实际调整)
for table in doc.tables:
    for row in table.rows:
        # 确保每行至少有两个单元格
        if len(row.cells) >= 2:
            header = row.cells[0].text.strip()
            content = row.cells[1].text.strip()
            # 跳过空表头行
            if header:
                headers.append(header)
                contents.append(content)

# 生成目标DataFrame
df = pd.DataFrame([contents], columns=headers)
print(df)

场景2:文档是分栏布局(第一栏全表头,第二栏全内容)

如果是Word分栏排版,第一栏排满表头后再排第二栏内容,需要先提取所有文本再拆分:

import docx
import pandas as pd

doc = docx.Document("会议文档.docx")

# 提取所有非空段落文本
all_text = [p.text.strip() for p in doc.paragraphs if p.text.strip()]

# 替换为你实际的表头数量(比如截图里有4个表头,就填4)
header_num = 4
headers = all_text[:header_num]
# 取对应数量的内容
contents = all_text[header_num:header_num + len(headers)]

df = pd.DataFrame([contents], columns=headers)
print(df)

额外说明

  • 若文档有多个表格,可通过表头关键字(比如找包含"Title"的行)定位目标表格
  • 遇到单元格内换行的情况,可把cell.text换成'\n'.join([run.text for run in cell.runs])来保留换行格式
  • 分栏场景必须保证表头和内容的数量完全对应,否则会出现配对错误

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.08 14:10:13