스킬

xlsx: 스프레드시트를 주 산출물로 다루기

주 입력 또는 출력이 .xlsx 같은 표 파일일 때 사용한다. 미리 설치된 openpyxl을 직접 가져오고, 하드코딩 대신 수식을 쓰며, 값을 읽기 전에 재계산한다.

Official source · xlsx

Install

write the script and import directly

누구에게 맞나

스프레드시트가 주 입력 또는 출력일 때 이 xlsx 가이드를 사용한다. 기존 .xlsx, .xlsm, .xltx, .csv 또는 .tsv를 열기, 읽기, 편집, 복구하는 작업을 다룬다. 산출물은 스프레드시트 파일이어야 한다.

주 산출물이 Word, HTML 보고서, 독립 Python 스크립트, 데이터베이스 파이프라인, Google Sheets API 연동일 때는 중간에 표 데이터가 있어도 이 경로를 켜지 말 것. 자료는 에이전트 제품 목록을 주지 않으며 특정 소프트웨어 전용으로 이해해서는 안 된다. 공식 설명 페이지는

https://raw.githubusercontent.com/anthropics/skills/main/skills/xlsx/SKILL.md

3분 안에 첫 시도 끝내기

권장 경로: openpyxl, pandas, markitdown은 모두 미리 설치되어 있다. 먼저 pip install하지 말고 스크립트를 써서 바로 가져온다.

전제: 현재 환경에서 이 세 라이브러리를 바로 import할 수 있다. 저위험 첫 시도는 읽기 전용 확인이며 먼저 디스크에 쓰지 말 것. 이미 있는 로컬 표 파일에 markitdown을 가져와 빠르게 본다. 파일이 없으면 열기 실패에서 멈추고, 이름 없는 샘플 표를 새로 만들지 말 것.

성공 신호: 가져오기가 성공하고 해당 파일의 텍스트 개요를 볼 수 있다. 복구나 덮어쓰기가 아니다. 기존 파일이 없고 사용자가 표 산출을 명시하면 그때 openpyxl로 만들기로 바꾸되, 디스크에 쓰기 전에 파일 이름과 덮어쓰기 여부를 확인한다.

만들 때 기억할 것: 수식을 쓰고, Python이 미리 계산한 하드코딩 결과를 쓰지 말 것. 자료 예시는 셀을 =SUM(B2:B9) 같은 수식으로 써서 입력이 바뀌어도 시트가 다시 계산되게 한다.

사용 사례

사례 1: 재계산되는 표를 새로 만들거나 수정한다. 미리 설치된 openpyxl로 스크립트를 쓰고, 가져온 뒤 합계를 수식으로 쓴다. 예를 들어 B10은 =SUM(B2:B9)을 쓰고, Python에서 먼저 더한 뒤 숫자를 쓰지 않는다. 완료 기준은 파일 안에 수식이 있고 입력이 바뀌면 시트가 재계산되는 것이다. 요약은 대량 읽기/쓰기를 pandas에, 빠른 확인을 markitdown에 남긴다. 이 사례는 수식 쓰기만 다룬다. 발췌는 완전한 스타일 API를 주지 않으므로 나타나지 않은 서식 함수를 지어내지 말 것.

사례 2: 수식이 있는 파일은 값을 읽기 전에 반드시 재계산해야 한다. 자료는 이렇게 적는다: 파일에 수식이 있으면 재계산은 필수 단계다. openpyxl은 수식을 문자열로 쓰고 캐시 값이 없다. 재계산하기 전에는 각 수식 셀을 읽으면 None이다. 이는 되돌릴 수 있는 확인이다. 방금 쓴 파일을 열어 수식 셀을 읽고 None이면 아직 재계산하지 않은 것이므로 여기서 멈추고, 재계산을 마친 뒤 읽은 값을 결과로 삼는다. None을 합계 0으로 해석하지 말 것.

사용 경계

스프레드시트 자체가 주 산출물일 때만 사용한다. Word, HTML, 독립 스크립트, 데이터베이스 파이프라인, Google Sheets API는 표가 있어도 이 경로를 타지 않는다. 세 라이브러리는 미리 설치되어 있으며 기본으로 먼저 pip install하지 말 것. 수식은 입력에 따라 재계산되어야 한다. 쓴 뒤에는 반드시 재계산하며, 그렇지 않으면 읽으면 None이 된다.

나타나지 않은 저장소 경로를 설치 명령으로 쓰지 말 것. 하드코딩 숫자를 합계인 척하지 말 것. 디스크에 쓰거나 원본 표를 덮어쓰기 전에 대상 경로와 부작용을 확인한 뒤 실행한다. 여기에 적힌 파일 유형, 가져오기 방식, 재계산 요구를 넘는 범위는 이 설명이 다루지 않는다.