name: xlsx
description: 全面的电子表格创建、编辑和分析,支持公式、格式、数据分析和可视化。当Claude需要处理电子表格文件(.xlsx、.xlsm、.csv、.tsv等)以创建新电子表格、读取/分析数据、修改现有电子表格或重新计算公式时使用。
source: anthropics/skills
license: Apache-2.0
Excel/电子表格处理
读取和分析数据
import pandas as pd
# 读取Excel
df = pd.read_excel('file.xlsx') # 默认:第一个工作表
all_sheets = pd.read_excel('file.xlsx', sheet_name=None) # 所有工作表作为字典
# 分析
df.head() # 预览数据
df.info() # 列信息
df.describe() # 统计信息
# 写入Excel
df.to_excel('output.xlsx', index=False)
使用openpyxl创建Excel文件
from openpyxl import Workbook
from openpyxl.styles import Font, PatternFill, Alignment
wb = Workbook()
sheet = wb.active
# 添加数据
sheet['A1'] = 'Hello'
sheet['B1'] = 'World'
sheet.append(['Row', 'of', 'data'])
# 添加公式 - 始终使用公式,而非硬编码值
sheet['B2'] = '=SUM(A1:A10)'
# 格式化
sheet['A1'].font = Font(bold=True, color='FF0000')
sheet['A1'].fill = PatternFill('solid', start_color='FFFF00')
sheet['A1'].alignment = Alignment(horizontal='center')
# 列宽
sheet.column_dimensions['A'].width = 20
wb.save('output.xlsx')
编辑现有文件
from openpyxl import load_workbook
wb = load_workbook('existing.xlsx')
sheet = wb.active
# 修改单元格
sheet['A1'] = '新值'
sheet.insert_rows(2)
sheet.delete_cols(3)
# 添加新工作表
new_sheet = wb.create_sheet('新工作表')
new_sheet['A1'] = '数据'
wb.save('modified.xlsx')
关键:使用公式,而非硬编码值
# 错误 - 硬编码计算值
total = df['Sales'].sum()
sheet['B10'] = total # 硬编码5000
# 正确 - 使用Excel公式
sheet['B10'] = '=SUM(B2:B9)'
sheet['C5'] = '=(C4-C2)/C2' # 增长率
sheet['D20'] = '=AVERAGE(D2:D19)'
金融模型标准
- 蓝色文本: 硬编码输入
- 黑色文本: 所有公式
- 绿色文本: 来自其他工作表的链接
- 黄色背景: 关键假设
最佳实践
- 使用
data_only=True 读取计算值
- 对于大文件:使用
read_only=True 或 write_only=True
- 公式被保留但不被openpyxl评估