如何利用 OpenClaw 操作 Excel 表格
简介
OpenClaw 不仅能聊天、搜索,还能直接操作文件——包括 Excel 表格。
本文将演示如何通过 OpenClaw 创建、合并 Excel 表格,无需手动打开 Excel 软件,一句话搞定。
场景描述
我们有以下需求:
表1:班级人员名单,包含「姓名」和「年龄」两列
表2:同一批人员,包含「姓名」和「家庭地址」两列
目标:按「姓名」合并,生成第三张表,包含姓名、年龄、家庭地址
表1 原始数据
| 姓名 | 年龄 |
|---|---|
| 张伟 | 18 |
| 李娜 | 17 |
| 王强 | 19 |
| 赵敏 | 18 |
| 陈浩 | 17 |
| 刘洋 | 19 |
| 杨雪 | 18 |
| 黄磊 | 17 |
表2 原始数据
| 姓名 | 家庭地址 |
|---|---|
| 张伟 | 北京市海淀区中关村大街1号 |
| 李娜 | 上海市浦东新区陆家嘴路88号 |
| 王强 | 广州市天河区体育西路100号 |
| 赵敏 | 深圳市南山区科技园路50号 |
| 陈浩 | 成都市武侯区天府大道200号 |
| 刘洋 | 杭州市西湖区文三路300号 |
| 杨雪 | 南京市鼓楼区中山北路150号 |
| 黄磊 | 武汉市洪山区珞喻路60号 |
合并后的表3
| 姓名 | 年龄 | 家庭地址 |
|---|---|---|
| 张伟 | 18 | 北京市海淀区中关村大街1号 |
| 李娜 | 17 | 上海市浦东新区陆家嘴路88号 |
| 王强 | 19 | 广州市天河区体育西路100号 |
| 赵敏 | 18 | 深圳市南山区科技园路50号 |
| 陈浩 | 17 | 成都市武侯区天府大道200号 |
| 刘洋 | 19 | 杭州市西湖区文三路300号 |
| 杨雪 | 18 | 南京市鼓楼区中山北路150号 |
| 黄磊 | 17 | 武汉市洪山区珞喻路60号 |
方法一:让 OpenClaw 直接生成
最简单的方式——直接对 OpenClaw 说:
“帮我创建两个 Excel 表格,然后按姓名合并成第三张表”
OpenClaw 会自动执行 Python 脚本,使用 pandas 库完成操作,最终输出 .xlsx 文件供下载。
不需要装软件,不需要写代码,一句话搞定。
方法二:了解背后的原理
如果你对技术细节感兴趣,核心代码如下:
import pandas as pd
# 创建表1
df1 = pd.DataFrame({
'姓名': ['张伟', '李娜', '王强', '赵敏', '陈浩', '刘洋', '杨雪', '黄磊'],
'年龄': [18, 17, 19, 18, 17, 19, 18, 17]
})
# 创建表2
df2 = pd.DataFrame({
'姓名': ['张伟', '李娜', '王强', '赵敏', '陈浩', '刘洋', '杨雪', '黄磊'],
'家庭地址': [
'北京市海淀区中关村大街1号',
'上海市浦东新区陆家嘴路88号',
'广州市天河区体育西路100号',
'深圳市南山区科技园路50号',
'成都市武侯区天府大道200号',
'杭州市西湖区文三路300号',
'南京市鼓楼区中山北路150号',
'武汉市洪山区珞喻路60号'
]
})
# 按姓名合并(类似 SQL 的 JOIN)
df3 = pd.merge(df1, df2, on='姓名', how='inner')
# 保存为 Excel(3个 Sheet 在同一个文件中)
with pd.ExcelWriter('班级信息汇总.xlsx') as writer:
df1.to_excel(writer, sheet_name='人员名单与年龄', index=False)
df2.to_excel(writer, sheet_name='人员名单与地址', index=False)
df3.to_excel(writer, sheet_name='合并结果', index=False)
关键知识点
pd.DataFrame() — 创建表格数据
pd.merge(df1, df2, on=’姓名’) — 按「姓名」列合并两张表
how=’inner’ — 只保留两边都有的姓名(交集)
how=’outer’ — 保留所有姓名(并集,缺失填空)
pd.ExcelWriter — 将多张表写入同一个 Excel 文件的不同 Sheet
操作流程总结
第一步:描述需求 → 告诉 OpenClaw 你要做什么
第二步:提供数据 → 直接贴数据或上传现有文件
第三步:获取结果 → OpenClaw 生成 Excel 文件供下载
就这么简单。AI 时代,表格处理不再需要手动操作。
夜雨聆风