excel-sheet-splitter
npx skills add https://github.com/sakumyz/skills --skill excel-sheet-splitter
Agent 安装分布
Skill 文档
Excelå·¥ä½è¡¨æåå·¥å ·
ä»»å¡ç®æ
- æ¬Skillç¨äºï¼å°Excelå·¥ä½ç°¿(.xlsx, .xlsm)æå·¥ä½è¡¨æå为ç¬ç«çExcelæä»¶
- è½åå å«ï¼ä¿çææåå æ ¼å¼åå ¬å¼ãä¿æåå§æ ¼å¼ãç»´æ¤å宽è¡é«ãä¿çåå¹¶åå æ ¼
- è§¦åæ¡ä»¶ï¼ç¨æ·éè¦å°å¤å·¥ä½è¡¨Excelæä»¶æå为ç¬ç«æä»¶æ¶
åç½®åå¤
- ä¾èµè¯´æï¼scriptsèæ¬æéçPythonå
openpyxl>=3.0.0 - Pythonçæ¬ï¼3.7ææ´é«çæ¬
æä½æ¥éª¤
ç¬¬ä¸æ¥ï¼å夿å
å°éè¦æåçExcelæä»¶åå¤å¥½ï¼ç¡®ä¿æä»¶æ ¼å¼ä¸º.xlsxæ.xlsmã
ç¬¬äºæ¥ï¼æ§è¡æå
åºæ¬ç¨æ³
使ç¨é»è®¤è®¾ç½®æåExcelæä»¶ï¼è¾åºå°ç¸åç®å½ï¼ï¼
python scripts/split_excel_sheets.py input_file.xlsx
è¿å°å建å为input_file_Sheet1.xlsxãinput_file_Sheet2.xlsxççæä»¶ã
é«çº§é项
æå®è¾åºç®å½ï¼
python scripts/split_excel_sheets.py input_file.xlsx -o ./output_folder
èªå®ä¹æä»¶ååç¼ï¼
python scripts/split_excel_sheets.py data.xlsx -p "2024å¹´æ¥è¡¨"
çæï¼2024å¹´æ¥è¡¨_Sheet1.xlsxã2024å¹´æ¥è¡¨_Sheet2.xlsxçã
JSONæ ¼å¼è¾åºï¼ç¨äºç¨åºåè°ç¨ï¼ï¼
python scripts/split_excel_sheets.py input_file.xlsx --json
è¿åå å«æä»¶è·¯å¾åç¶æçç»æåJSONæ°æ®ã
ç¬¬ä¸æ¥ï¼æ¥çç»æ
æå宿åï¼å¨è¾åºç®å½æ¥ççæçExcelæä»¶ãæ¯ä¸ªå·¥ä½è¡¨é½ä¼çæä¸ä¸ªç¬ç«çExcelæä»¶ã
Python APIè°ç¨
å¯ä»¥ç´æ¥å¨Python代ç ä¸å¯¼å ¥å¹¶ä½¿ç¨å½æ°ï¼
from scripts.split_excel_sheets import split_excel_sheets
result = split_excel_sheets(
input_file='data.xlsx',
output_dir='./output',
prefix='èªå®ä¹åç¼'
)
print(f"ç¶æ: {result['status']}")
print(f"åå»ºäº {len(result['files'])} 个æä»¶")
è¾åºæ ¼å¼è¯´æ
èæ¬è¿åä¸ä¸ªåå ¸ï¼å å«ä»¥ä¸å段ï¼
status: ç¶æç (‘success’æå, ‘partial_success’é¨åæå, ‘error’é误)message: 人类å¯è¯»çæè¦ä¿¡æ¯input_file: åå§æä»¶è·¯å¾output_directory: æä»¶å建ä½ç½®files: å建çæä»¶è·¯å¾å表errors: é误信æ¯å表ï¼å¦æï¼total_sheets: åå§æä»¶ä¸çå·¥ä½è¡¨æ°ésuccessful: æåå建çæä»¶æ°éfailed: 失败çå·¥ä½è¡¨æ°é
æä»¶å½åè§å
è¾åºæä»¶å½åæ ¼å¼ï¼{åç¼}_{å·¥ä½è¡¨å}.xlsx
- é»è®¤åç¼ï¼è¾å ¥æä»¶åï¼ä¸å«æ©å±åï¼
- å·¥ä½è¡¨åä¼è¢«æ¸ çï¼ä» ä¿ç忝æ°åãç©ºæ ¼ãè¿å符ãä¸å线ï¼
- æä»¶ç³»ç»ä¸å
¼å®¹çå符ï¼å¦
/ã\ã*ã?ï¼ä¼è¢«ç§»é¤
ä¿çå 容说æ
æååçæ¯ä¸ªæä»¶å°ä¿çï¼
- ææåå æ ¼å¼åå ¬å¼
- åå§æ ¼å¼ï¼åä½ãé¢è²ãè¾¹æ¡ãå¡«å ãæ°åæ ¼å¼ï¼
- å宽åè¡é«
- åå¹¶åå æ ¼
- å·¥ä½è¡¨ç»æ
é误å¤ç
èæ¬è½å¤ç常è§é®é¢ï¼
- æä»¶ä¸åå¨ï¼æ¥åæä»¶æªæ¾å°
- æ å·¥ä½è¡¨ï¼æ¥åå·¥ä½ç°¿ä¸ºç©º
- å·¥ä½è¡¨å¤çé误ï¼ç»§ç»å¤çå ¶ä½å·¥ä½è¡¨ï¼é个æ¥åé误
- å·¥ä½è¡¨åä¸çéæ³å符ï¼èªå¨æ¸ çä¸ºæææä»¶å
éåºä»£ç ï¼
0: æåæé¨åæå1: å®å ¨å¤±è´¥
å±éæ§è¯´æ
- å¤é¨å¼ç¨å ¬å¼ï¼å¦æå ¬å¼å¼ç¨å ¶ä»å·¥ä½è¡¨çåå æ ¼ï¼å¨ç¬ç«æä»¶ä¸å¯è½æ¾ç¤ºé误
- å·¥ä½è¡¨é´ä¾èµï¼å¼ç¨å ¶ä»å·¥ä½è¡¨çå¾è¡¨ææ°æ®éªè¯å¯è½æ æ³æ£å¸¸å·¥ä½
- å®ä»£ç ï¼.xlsmæä»¶çVBA代ç ä¼è¢«ä¿çï¼ä½å¼ç¨å ¶ä»å·¥ä½è¡¨çå®å¯è½å¤±è´¥
使ç¨ç¤ºä¾
示ä¾1ï¼æåæ¥è¡¨ç¨äºåå
åè½ï¼å°æåº¦æ¥è¡¨æé¨é¨å·¥ä½è¡¨æå æ§è¡æ¹å¼ï¼èæ¬æ§è¡
python scripts/split_excel_sheets.py monthly_report.xlsx -o ./team_reports -p "2024å¹´1æ"
è¾åºï¼å¨team_reportsç®å½çæä»¥”2024å¹´1æ”为åç¼çç¬ç«Excelæä»¶
示ä¾2ï¼æåææå·¥ä½è¡¨ç¨äºåç¬å¤ç
åè½ï¼å°åå¹¶æ°æ®æä»¶çæ¯ä¸ªå·¥ä½è¡¨æå为ç¬ç«æä»¶ æ§è¡æ¹å¼ï¼èæ¬æ§è¡
python scripts/split_excel_sheets.py consolidated_data.xlsx
è¾åºï¼æ¯ä¸ªå·¥ä½è¡¨æä¸ºç¬ç«çExcelæä»¶ï¼å¯ç¨äºåç¬åæ
示ä¾3ï¼ç¨åºåæ¹éå¤ç
åè½ï¼æ¹éå¤çå¤ä¸ªExcelæä»¶ æ§è¡æ¹å¼ï¼Python代ç
import glob
from scripts.split_excel_sheets import split_excel_sheets
for file in glob.glob('*.xlsx'):
result = split_excel_sheets(file, output_dir='./split_files')
if result['status'] != 'success':
print(f"{file}å¤çéå°é®é¢: {result['message']}")
è¾åºï¼ææExcelæä»¶çå·¥ä½è¡¨é½è¢«æåå°split_filesç®å½
æµè¯å»ºè®®
å¨å¤çéè¦æä»¶ä¹åï¼å»ºè®®ä½¿ç¨æ ·æ¬å·¥ä½ç°¿è¿è¡æµè¯ï¼
# ä½¿ç¨æµè¯æä»¶è¿è¡æå
python scripts/split_excel_sheets.py test_file.xlsx -o ./test_output
# éªè¯ææå·¥ä½è¡¨é½è¢«æ£ç¡®æåå¹¶ä¿çæ ¼å¼
èµæºç´¢å¼
- æ ¸å¿èæ¬ï¼è§ scripts/split_excel_sheets.pyï¼Excelå·¥ä½è¡¨æåå·¥å ·ï¼
注æäºé¡¹
- ç¡®ä¿Excelæä»¶è·¯å¾æ£ç¡®ï¼æä»¶æ ¼å¼ä¸º.xlsxæ.xlsm
- æååçæä»¶ä¸ï¼è·¨å·¥ä½è¡¨å¼ç¨çå ¬å¼å¯è½éè¦æå¨è°æ´
- å·¥ä½è¡¨åä¸çç¹æ®å符ä¼è¢«èªå¨æ¸ ç为æä»¶ç³»ç»å ¼å®¹çå符
- 建议å ç¨æµè¯æä»¶éªè¯åè½ï¼åå¤çéè¦æ°æ®