Skip to main content

csv-excel-file

Guidelines for handling CSV/Excel files

소스 정보

저장소
agentscope-ai/agentscope-samples
최근 소스 활동
2026년 2월 2일 05:57
감지된 SKILL.md 언어
영어
스타
352
포크
95

설치 방법

기본적으로 소스를 먼저 확인하는 Prompt가 선택됩니다. 직접 명령으로 전환하거나 로컬 사본을 다운로드할 수도 있습니다.

소스 파일 검토

설치 여부를 결정하기 전에 SKILL.md와 SkillsMP에 표시된 보조 파일을 읽어 보세요.

SKILL.md 표시 중

SKILL.md
소스 지침 · 읽기 전용 미리보기
name
csv-excel-file
description
Guidelines for handling CSV/Excel files
type
["csv","excel"]
# CSV/Excel Handling Specifications ## Goals - Safely load tabular data without crashing. - Detect and handle messy spreadsheets (multiple blocks, missing headers, merged cells artifacts). - Produce reliable outputs (clean dataframe for clean table or structured JSON for messy spreadsheet) with validated types. ## Encoding, Delimiters, and Locale - CSV encoding: Try UTF-8; if garbled, attempt common fallbacks (e.g., gbk, cp1252) based on context. - Delimiters: Detect common separators (,, \t, ;, |) during inspection. - Locale formats: Be cautious with comma decimal separators and thousands separators. ## Inspection (always first) - Identify file type, encoding (CSV), and sheet names (Excel) before full reads. - Prefer small reads to preview structure: - CSV: pd.read_csv(..., nrows=20); if uncertain delimiter: sep=None, engine="python" (small nrows only). - Excel: pd.ExcelFile(path).sheet_names, then pd.read_excel(..., sheet_name=..., nrows=20). - Use df.head(n) and df.columns to check: - Missing/incorrect headers (e.g., columns are numeric 0..N-1) - "Unnamed: X" columns - Unexpected NaN/NaT, merged-cell artifacts - Multiple tables/blocks in one sheet (blank rows separating sections) ## Preprocessing - Treat as messy if any of the following is present: - Columns contain "Unnamed:" or mostly empty column names - Header row appears inside the data (first rows look like data + later row looks like header) - Multiple data blocks (large blank-row gaps, repeated header patterns) - Predominantly NaN/NaT in top rows/left columns - Notes/metadata blocks above/beside the table (titles, footnotes, merged header areas) - If messy spreadsheets are detected: - First choice: use `clean_messy_spreadsheet` tool to extract key tables/fields and output JSON. - Only fall back to manual parsing if tool fails, returns empty/incorrect structure, or cannot locate the target table. ## Querying - Never load entire datasets blindly. - Use minimal reads: - `nrows`, `usecols`, `dtype` (or partial dtype mapping), `parse_dates` only when necessary. - Sampling: `skiprows` with a step pattern for rough profiling when file is huge. - For very large CSV: - Prefer `chunksize` iteration; aggregate/compute per chunk. - For Excel: - Read only needed `sheet_name`, and consider narrowing `usecols`/`nrows` during exploration. ## Data Quality & Type Validation - After load/clean: - Validate types: - Numeric columns: coerce with pd.to_numeric(errors="coerce") - Datetime columns: pd.to_datetime(errors="coerce") - Report coercion fallout (how many became NaN/NaT). - Standardize missing values: treat empty strings/“N/A”/“null” consistently. # Best Practices - Always inspect structure before processing. - Handle encoding issues appropriately - Keep reads minimal; expand only after confirming layout. - Log decisions: chosen sheet, detected header row, dropped columns/rows, dtype conversions. - Avoid silent data loss: when dropping/cleaning, summarize what changed. - Validate data types after loading
GitHub에서 보기