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

Python如何仿照Excel按列合并逻辑将多份docx内容存入Excel不同列

实现方案

首先安装依赖库:

pip install python-docx

以下是和你原有Excel合并逻辑完全兼容的代码:

import os
import pandas as pd
from docx import Document

paths = "替换为你的文件存放目录路径"
v_all = []

for root, dirs, files in os.walk(paths):
    for t in files:
        full_path = os.path.join(root, t)
        # 处理Excel文件,逻辑和你原有代码一致
        if t.endswith('.xlsx'):
            df = pd.read_excel(full_path, header=None, index_col=False)
            v_all.append(df)
        # 处理docx文件
        if t.endswith('.docx'):
            doc = Document(full_path)
            # 读取所有非空段落文本
            doc_content = [para.text.strip() for para in doc.paragraphs if para.text.strip()]
            # 转换为单列DataFrame,和Excel读取的格式统一
            df_doc = pd.DataFrame(doc_content, columns=[None])
            v_all.append(df_doc)

# 按列合并所有文件,逻辑和你原有代码完全一致
conc = pd.concat(v_all, axis=1, ignore_index=True)

# 导出合并结果到Excel
conc.to_excel("合并结果.xlsx", index=False, header=False)

逻辑说明

  • 每个docx文件读取后会生成单列的DataFrame,格式和你读取Excel得到的结构完全一致,所以合并逻辑不需要修改
  • 遍历顺序和你原有逻辑保持一致,先读到的文件内容放在靠左的列,后读到的放在靠右的列,你示例中的docx1、docx2合并后就会生成第一列是docx1内容、第二列是docx2内容的Excel
  • 如果不同文件的行数不一致,短文件末尾位置会自动补空值,和你原有Excel合并的行为完全相同
  • 修正了你原有代码里路径拼接的问题:原来用os.path.join(paths,t)的写法在有子目录时会找不到文件,现在改用遍历返回的root拼接完整路径,兼容子目录场景

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 20:45:02