云计算、AI、云原生、大数据等一站式技术学习平台

网站首页 > 教程文章 正文

Excel批量操作:查找指定列数据,并按找到的文本生成Word文件

jxf315 2025-04-11 00:02:58 教程文章 13 ℃

实现功能:

根据excel文件第【姓名】列数据生成word文件,生成的word文件以【姓名】列数据命名,word文件默认填充【姓名】列数据。如果有相同的姓名,会在文件名后加上 _序号 进行区分,例如:

张三.docx、张三_2.docx、张三_3.docx

import os
import pandas as pd
from docx import Document

def generate_word_files_from_excel(excel_path, output_folder):
    """根据 Excel 文件的【姓名】列生成 Word 文件"""
    # 读取 Excel 文件
    df = pd.read_excel(excel_path)
    
    # 确保输出目录存在
    os.makedirs(output_folder, exist_ok=True)
    
    # 检查是否有【姓名】列
    if '姓名' not in df.columns:
        print("Excel 文件中没有找到【姓名】列!")
        return
    
    name_count = {}  # 记录姓名出现次数
    
    # 遍历【姓名】列,生成 Word 文件
    for name in df['姓名'].dropna():  # 去除空值
        name_count[name] = name_count.get(name, 0) + 1
        file_name = f"{name}_{name_count[name]}.docx" if name_count[name] > 1 else f"{name}.docx"
        file_path = os.path.join(output_folder, file_name)
        
        doc = Document()
        doc.add_paragraph(name)
        doc.save(file_path)
        print(f"已生成: {file_path}")
    
    print("所有 Word 文件已生成!")

# 示例:指定 Excel 文件路径和输出目录
excel_path = r"C:\Users\Administrator\Downloads\001\名单.xlsx"  # 请替换为你的 Excel 文件路径
output_folder = r"C:\Users\Administrator\Downloads\001"  # Word 文件存放目录

generate_word_files_from_excel(excel_path, output_folder)


注意事项:

1、功能使用Python脚本实现,需要安装 pandas 和 python-docx 库,若尚未安装,可以运行以下命令:pip install pandas 和pip install python-docx

2、读取 Excel 文件,确保文件包含【姓名】列(代码示例,可以修改)。

3、创建 Word 文件,文件名为【姓名】,内容也是【姓名】。

4、避免重复生成,使用 unique() 只生成唯一的姓名文件。

5、确保输出目录存在。

6、将 excel_path 替换为你的 Excel 文件路径。

7、运行代码后,Word 文件将被保存到 output_folder 目录。

实现效果

Tags:

最近发表
标签列表