Skip to content

项目1:本地邮件正文生成器

项目目标

通过一个简单的脚本,从Excel读取员工名单,自动生成个性化的生日祝福邮件正文。这将帮你克服对命令行的恐惧,学会用自然语言让Claude写代码。

职场场景

痛点描述

每个月都有员工过生日,作为行政/人事,你需要:

  1. 打开Excel查看本月过生日的员工名单
  2. 给每个人写一封个性化的生日祝福邮件
  3. 复制粘贴到邮箱,一个个发送

::: 😓 问题所在

  • 10个员工就要写10封邮件
  • 每封邮件都要手动替换名字和日期
  • 容易出错(比如名字写错、日期搞混)
  • 浪费时间,但看起来又像"不得不做"的工作 :::

解决后收益

用Claude Code完成后:

  • 1分钟生成所有邮件正文
  • 不会出现名字或日期错误
  • 可以直接复制到邮箱发送
  • 模板可以复用,每个月都能用

准备工作

1. 下载示例文件

下载我们的示例Excel文件::download: employees.xlsx

Excel文件格式:

姓名生日部门入职年数
张三03-15市场部2
李四03-20技术部1
王五03-25运营部3

提示

你可以用自己的Excel文件,但需要确保:

  • 第一行是列名(姓名、生日等)
  • 生日格式统一(如:03-15表示3月15日)

2. 创建工作文件夹

在桌面创建一个新文件夹,命名为 email-generator,然后把Excel文件放进去。

::: tabs

Windows

  1. 在桌面右键 → 新建 → 文件夹
  2. 命名为 email-generator
  3. employees.xlsx 拖进去

macOS

  1. 在桌面右键 → 新建文件夹
  2. 命名为 email-generator
  3. employees.xlsx 拖进去 :::

开始项目

步骤1:打开 Claude Code

打开终端(如果你还没打开),输入:

bash
claude

你会看到欢迎信息,表示Claude Code已经准备好了。

步骤2:告诉 Claude 你要做什么

复制下面的完整Prompt,粘贴到Claude Code中,然后按回车:

✏️ 点击复制完整Prompt
text
我需要你帮我创建一个Python脚本,用于生成员工生日祝福邮件。

需求:
1. 读取同文件夹下的 employees.xlsx 文件
2. 为每个员工生成一封生日祝福邮件
3. 邮件内容要包括:员工姓名、部门、感谢他们在公司工作的时间
4. 每封邮件保存为一个单独的 .txt 文件,文件名格式为:{姓名}_生日邮件.txt
5. 所有文件保存在同文件夹下的 output 文件夹中

邮件模板:
"亲爱的{姓名}:

祝你生日快乐!🎂

感谢你在{部门}为团队做出的贡献。你已经在公司工作了{入职年数}年,是我们团队的重要成员。

希望你在新的一岁里,工作顺利,生活美满!

人力资源部
{当前日期}"

请创建这个脚本,并且:
- 使用pandas库读取Excel
- 使用datetime获取当前日期
- 创建output文件夹(如果不存在)
- 用UTF-8编码保存文件(支持中文)
- 添加详细的中文注释说明每一步

步骤3:观察Claude的工作

Claude Code会:

  1. 理解你的需求,告诉你它打算做什么
  2. 创建Python脚本(通常命名为 generate_emails.py
  3. 显示代码的diff(改动内容)

你会看到类似这样的输出:

我理解了你的需求。我会创建一个Python脚本来:
1. 使用pandas读取Excel文件
2. 为每个员工生成个性化的生日祝福邮件
3. 保存到output文件夹

让我先创建这个脚本...

步骤4:运行脚本

脚本创建完成后,Claude Code会询问是否要运行。输入:

bash
python generate_emails.py

或者让Claude Code直接运行(它会自动执行)。

步骤5:查看结果

打开你的 email-generator 文件夹,你应该看到:

  • 新建了 output 文件夹
  • 里面有几个 .txt 文件,文件名是"员工姓名_生日邮件.txt"
  • 打开任意一个文件,里面是完整的生日祝福邮件内容

::🎉 恭喜!你刚刚用AI完成了第一个自动化任务!:::


代码解读

让我们看看Claude生成的代码在做什么:

python
# 导入需要的库
import pandas as pd  # 用于读取Excel
import os  # 用于操作文件路径
from datetime import datetime  # 用于获取当前日期

# 读取Excel文件
df = pd.read_excel('employees.xlsx')  # 把Excel数据加载到内存

# 创建output文件夹
if not os.path.exists('output'):  # 检查文件夹是否存在
    os.makedirs('output')  # 如果不存在,就创建

# 获取当前日期
current_date = datetime.now().strftime('%Y年%m月%d日')  # 格式:2026年03月15日

# 遍历每个员工
for index, row in df.iterrows():  # 逐行读取Excel数据
    # 获取员工信息
    name = row['姓名']
    department = row['部门']
    years = row['入职年数']

    # 生成邮件内容
    email_content = f"""亲爱的{name}

祝你生日快乐!🎂

感谢你在{department}为团队做出的贡献。你已经在公司工作了{years}年,是我们团队的重要成员。

希望你在新的一岁里,工作顺利,生活美满!

人力资源部
{current_date}"""

    # 保存邮件到文件
    filename = f"output/{name}_生日邮件.txt"  # 文件名
    with open(filename, 'w', encoding='utf-8') as f:  # 打开文件准备写入
        f.write(email_content)  # 写入邮件内容

print(f"已生成 {len(df)} 封邮件!")  # 显示完成信息

关键概念

  • 库(Library):别人写好的代码工具包,我们可以直接使用
  • 变量(Variable):存储数据的容器,比如 name 存储员工姓名
  • 循环(Loop):重复执行相同操作,这里是重复生成邮件
  • 字符串格式化:用 {变量名} 的方式把变量插入到文本中

常见错误 & Debug

错误1:ModuleNotFoundError: No module named 'pandas'

错误信息

ModuleNotFoundError: No module named 'pandas'

原因:你的电脑没有安装pandas库

解决方法

bash
pip install pandas openpyxl

在终端中运行上面的命令,安装所需的库。

错误2:FileNotFoundError: employees.xlsx

错误信息

FileNotFoundError: [Errno 2] No such file or directory: 'employees.xlsx'

原因:Excel文件和脚本不在同一个文件夹中

解决方法

  1. 确认 employees.xlsxgenerate_emails.py 在同一个文件夹
  2. 在终端中,先cd到那个文件夹:
    bash
    cd Desktop/email-generator
    python generate_emails.py

错误3:中文乱码

问题:打开生成的txt文件,中文显示为乱码

原因:文件编码问题

解决方法

  • 用记事本打开时,选择"另存为",编码选择"UTF-8"
  • 或者用VS Code、Notepad++等编辑器打开

错误4:KeyError: '姓名'

错误信息

KeyError: '姓名'

原因:Excel文件的列名和代码中的不匹配

解决方法

  1. 打开Excel文件,确认第一行的列名
  2. 修改代码中的列名,使其与Excel一致
  3. 或者让Claude重新生成代码,告诉它正确的列名

扩展练习

完成基础项目后,试试这些改进:

练习1:添加邮件主题

让脚本同时生成邮件主题,保存为 {姓名}_主题.txt

提示给Claude的Prompt

请修改脚本,为每个员工同时生成邮件主题。
主题格式:"生日快乐!{公司名称}祝{姓名}度过美好的一天"
保存到同一个txt文件中,格式为:
主题:{邮件主题内容}

正文:
{邮件正文}

练习2:只生成本月的生日邮件

修改脚本,只生成本月过生日员工的邮件。

提示给Claude的Prompt

请修改脚本,只生成本月过生日员工的邮件。
需要:
1. 获取当前月份
2. 只处理生日月份等于当前月份的员工
3. 跳过其他员工

练习3:生成HTML格式邮件

把邮件生成成HTML格式,支持字体、颜色等样式。

提示给Claude的Prompt

请把邮件改成HTML格式,要求:
1. 使用内联CSS样式
2. 标题使用蓝色加粗字体
3. 添加生日蛋糕emoji
4. 文件扩展名改为 .html

项目总结

恭喜你完成了第一个项目!🎉

在这个项目中,你学会了:

  • ✅ 使用Claude Code创建Python脚本
  • ✅ 读取Excel文件并处理数据
  • ✅ 用循环批量处理任务
  • ✅ 保存文件到指定位置
  • ✅ 处理常见错误

现在你应该对命令行不再那么害怕了!


▶️ 进入项目2:本地报销文件整理网页

↩️ 返回安装指南


基于 Claude Code 构建