Agent skill · Data & Analytics

sn-da-large-file-analysis

万行以上 Excel 数据集的高性能分析引擎。提供 openpyxl read_only 流式读取(iter_rows 支持 10 万行以上)、Parquet 转换加速、内存优化、分块处理和大文件写入模式。**遇到以下任一情况就主动使用本 skill**:①数据行数 ≥ 10k(由 sn-da-excel-workflow 的行数评估步骤触发);②用户出现触发词:大文件 / 大数据量 / 性能优化 / 内存不足 / OOM / 百万行 / 十万行 / 流式读取 / Parquet / 分块处理 / large file / big data / streaming read / chunked processing;③直接使用 pd.read_excel() 导致超时或内存溢出;④用户明确要求对大规模数据集进行高性能处理。仅不用于:小于 10k 行的常规 Excel 分析(使用 sn-da-excel-workflow 即可)。

OpenSenseNovagithub.com/OpenSenseNovaGitHub ↗
claude-codeMIT
Install
npx skills add OpenSenseNova/SenseNova-Skills --skill sn-da-large-file-analysis --agent claude-code

Same command for any agent — swap --agent for codex, cursor, copilot.

Facts
Files in the skill folder: 1
SKILL.md size: 12 KB
Bundled scripts: none
Path: skills/sn-da-large-file-analysis/SKILL.md
Open the folder on GitHub →
Where it comes from
Stars: 4,855
Language: JavaScript
Read our review of the source →

Weekly change comes from our own snapshots, not the repository page — it measures attention, not adoption.

From the SKILL.md

# Large Scale Excel Analysis Skill ## Mandatory Rules > **When total rows >= 10,000, you MUST use the methods in this skill.** | Data Scale | Read Strategy | Reason | |-----------|---------------|--------| | < 10k rows | `pd.read_excel()` directly | No memory pressure | | 10k–100k rows | `pd.read_excel()` → convert to Parquet → `pd.read_parquet()` for analysis | Avoid repeated slow reads | | 100k–1M rows | **openpyxl `read_only` + `iter_rows` streaming** → Parquet | `pd.read_excel()` will OOM or timeout | | > 1M rows | Streaming read + **multi-sheet split** (Excel max 1,048,576 rows per sheet) | Must chunk | **Prohibited:** - Do NOT use `pd.read_excel()` to fully load 100k+ row files - Do NOT search for fonts with `fc-list`, `find ... fonts`, or install packages with `pip install` - Do NOT use `df.iterrows()` on large DataFrames (use `itertuples()` or vectorized ops) - Do NOT use `df.apply(lambda...)` for operations that can be vectorized --- ## Environment Setup ```python import pandas as pd import numpy as np import os import gc pd.options.mode.copy_on_write = True # CJK font setup (fixed paths — do NOT search for fonts) # ⚠️ Copy this block as-is. Do NOT use fc-list, find, subpr

What's inside
Steps it walks through
  1. Mandatory Rules
  2. Environment Setup
  3. Core Method 1: Inspect File Structure (Without Loading Data)
  4. Core Method 2: Streaming Read → Parquet (100k+ Rows)
  5. Core Method 3: Medium File Parquet Conversion (10k–100k Rows)
  6. Core Method 4: Memory Optimization (Type Downcasting)
  7. Core Method 5: Large File Writing
  8. Example 1: 100k-Row Table — Column Distribution + Chart
  9. Example 2: 1M-Row Table — Streaming Read + Filter + Export
  10. Vectorized Operations Cheat Sheet
  11. Memory Estimation
  12. Best Practices
More from SenseNova-Skills
All skills →
About this skill
What does the sn-da-large-file-analysis skill do?

万行以上 Excel 数据集的高性能分析引擎。提供 openpyxl read_only 流式读取(iter_rows 支持 10 万行以上)、Parquet 转换加速、内存优化、分块处理和大文件写入模式。**遇到以下任一情况就主动使用本 skill**:①数据行数 ≥ 10k(由 sn-da-excel-workflow 的行数评估步骤触发);②用户出现触发词:大文件 / 大数据量 / 性能优化 / 内存不足 / OOM / 百万行 / 十万行 / 流式读取 / Parquet / 分块处理 / large file / big data / streaming read / chunked processing;③直接使用 pd.read_excel() 导致超时或内存溢出;④用户明确要求对大规模数据集进行高性能处理。仅不用于:小于 10k 行的常规 Excel 分析(使用 sn-da-excel-workflow 即可)。

How do I install it?

Run `npx skills add OpenSenseNova/SenseNova-Skills --skill sn-da-large-file-analysis --agent claude-code` — it drops the skill into your project so the agent can pick it up. Swap the --agent value for codex, cursor or copilot if you use one of those.

Where does this skill come from?

From OpenSenseNova/SenseNova-Skills, a repository with 4,855 stars. We read it straight from the repository tree rather than a submitted listing, so what you see here is what is actually published.

Is a popular skill a good skill?

Not necessarily. Stars measure attention, not adoption — a repository can trend for a week and be abandoned. That is why we show the weekly change from our own snapshots next to the total, instead of a single flattering number.

Keep going