实现功能:
根据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 目录。