opensensenova avatar

Sn Da Excel Workflow

A comprehensive Excel analysis orchestrator that handles the full pipeline from multi-sheet reading to formatted report export. The workflow is built around a critical 10k row threshold: files under 10k load directly, 10k to 100k get auto-cached to Parquet, and anything over 100k delegates to a streaming parser to avoid memory crashes. Each step maps to capability sub-skills covering cleaning (missing values, text normalization, regex extraction), filtering (condition/category/range), cross-sheet aggregation, and formatted export with download links. The architecture is explicitly defensive: it bans pd.read_excel for large files, prohibits .apply() loops over 100k rows, and includes a hardcoded CJK font setup block to prevent matplotlib font-hunting disasters. Use this when you want structured, memory-safe Excel workflows instead of ad-hoc pandas scripts.

skills.sh installs
147
GitHub stars
6.1K
last updated
Jun 11, 2026

Install

$ npx -y skills add opensensenova/sensenova-skills --skill sn-da-excel-workflow --agent claude-code

Installs into .claude/skills of the current project.

Files

Excel Data Analysis Workflow

End-to-end workflow for structured Excel analysis. Each step maps to a capability sub-skill that can be loaded for detailed patterns.

Workflow

Step 1 — Count rows across all sheets (lightweight, no full load)

Count rows per sheet without loading data into memory. Use openpyxl read_only mode — this works for any file size.

import openpyxl, gc

wb = openpyxl.load_workbook(file_path, read_only=True, data_only=True)
total_rows = 0
sheet_info = {}
for name in wb.sheetnames:
    ws = wb[name]
    row_count = sum(1 for _ in ws.iter_rows(min_row=2, values_only=True))
    total_rows += row_count
    sheet_info[name] = row_count
    print(f"Sheet '{name}': {row_count} rows")
wb.close()
print(f"总行数={total_rows}")

⚠️ Do NOT use pd.read_excel() to count rows — it loads all data into memory, which will OOM on large files.

→ capability: excel-reading/multi-sheet-reading

Step 2 — Large file gate (CRITICAL — choose strategy by row count)

Sponsors

Details

Repository
github.com/opensensenova/sensenova-skills
Categories
Data Science & ML, Automation & Workflows, Office & Documents, Video & Audio Editing
License
MIT
First seen
Jun 11, 2026

More from opensensenova/sensenova-skills

All 26
1opensensenova avatarsn-search-academicopensensenova/sensenova-skills搜索学术论文和百科知识:ArXiv 预印本、Semantic Scholar(含引用数)、PubMed 生医文献、Wikipedia 百科。支持按章节读取 ArXiv HTML 全文和 PMC 开放获取全文,适合学术调研和深度阅读。134skills.sh installs
2dkyazzentwatwa avatarscientific-paper-figure-generatordkyazzentwatwa/chatgpt-skillsUse when asked to create publication-ready scientific figures, charts for research papers, or academic visualizations.122skills.sh installs
3ar9av avataroutline-agentar9av/paperorchestraStep 1 of the PaperOrchestra pipeline (arXiv:2604.05018). Convert (idea.md, experimental_log.md, template.tex, conference_guidelines.md) into a strict JSON outl0skills.sh installs
4ar9av avatarpaper-autoratersar9av/paperorchestraRun the four paper-quality autoraters from PaperOrchestra (arXiv:2604.05018, App. F.3) — Citation F1 (P0/P1 partition + Precision/Recall/F1), Literature Review 0skills.sh installs
5coffeefuelbump avatarcsv-data-summarizercoffeefuelbump/csv-data-summarizer-claude-skillAnalyzes CSV files, generates summary stats, and plots quick visualizations using Python and pandas.0skills.sh installs
6hypnguyen1209 avatarai-securityhypnguyen1209/offensive-claudeAI/ML security assessment — prompt injection, jailbreak detection, RAG poisoning, model extraction, adversarial examples, supply chain risks in ML pipelines0skills.sh installs