xlsx について
Excel ファイルの読み取り、分析、作成、編集を扱うスプレッドシート処理スキルです。pandas と openpyxl の例に加え、数式や財務モデルの書式も解説します。
主な機能
- 01pandas によるシート読み込み
- 02openpyxl によるブック作成
- 03既存ブックの編集
- 04計算への数式の使用
- 05財務モデル書式の適用
活用シーン
- 01表データの読み込みと確認
- 02書式付き Excel ブックの作成
- 03セルの更新や行の挿入
- 04合計や成長率を数式で計算
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ moizibnyousaf/ ai-agent-skills --skill xlsxインストール後、Claude Code で/xlsxを入力して読み込まれたか確認します。
詳細
Excel/スプレッドシートの処理
データの読み取りと分析
import pandas as pd
# Read Excel
df = pd.read_excel('file.xlsx') # Default: first sheet
all_sheets = pd.read_excel('file.xlsx', sheet_name=None) # All sheets as dict
# Analyze
df.head() # Preview data
df.info() # Column info
df.describe() # Statistics
# Write 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
# Add data
sheet['A1'] = 'Hello'
sheet['B1'] = 'World'
sheet.append(['Row', 'of', 'data'])
# Add formula - ALWAYS use formulas, not hardcoded values
sheet['B2'] = '=SUM(A1:A10)'
# Formatting
sheet['A1'].font = Font(bold=True, color='FF0000')
sheet['A1'].fill = PatternFill('solid', start_color='FFFF00')
sheet['A1'].alignment = Alignment(horizontal='center')
# Column width
sheet.column_dimensions['A'].width = 20
wb.save('output.xlsx')
既存ファイルの編集
from openpyxl import load_workbook
wb = load_workbook('existing.xlsx')
sheet = wb.active
# Modify cells
sheet['A1'] = 'New Value'
sheet.insert_rows(2)
sheet.delete_cols(3)
# Add new sheet
new_sheet = wb.create_sheet('NewSheet')
new_sheet['A1'] = 'Data'
wb.save('modified.xlsx')
重要:ハードコードした値ではなく数式を使う
# BAD - Hardcoding calculated values
total = df['Sales'].sum()
sheet['B10'] = total # Hardcodes 5000
# GOOD - Using Excel formulas
sheet['B10'] = '=SUM(B2:B9)'
sheet['C5'] = '=(C4-C2)/C2' # Growth rate
sheet['D20'] = '=AVERAGE(D2:D19)'
財務モデルの標準
- 青色の文字:ハードコードされた入力値
- 黒色の文字:すべて数式
- 緑色の文字:他のワークシートからのリンク
- 黄色の背景:主要な前提条件
ベストプラクティス
- 計算済みの値を読み取るには
data_only=Trueを使います - 大きなファイルの場合は、
read_only=Trueまたはwrite_only=Trueを使います - 数式は保持されますが、openpyxl では評価されません
コメント
Markdown 対応