返回顶部
d

data-analyzer数据分析器

Data analysis tool for Excel, CSV, Word, PDF, TXT, Markdown files. Use when user needs to analyze, summarize, or compare data from multiple files. Supports folder scanning, data aggregation, statistics, report generation in Markdown/Excel/Word/PDF. Multi-language support. 数据分析、文件夹分析、Excel分析。

作者: admin | 来源: ClawHub
源自
ClawHub
版本
V 1.1.0
安全检测
已通过
638
下载量
免费
免费
0
收藏
概述
安装方式
版本历史

data-analyzer

技能名称: data-analyzer
详细描述:

数据分析器

分析和汇总来自 Excel、CSV、Word 和 PDF 文件的数据。

功能特性

  • - 📊 多格式输入:Excel、CSV、Word、PDF、TXT、Markdown
  • 📁 文件夹扫描:分析整个文件夹
  • 📈 统计功能:求和、平均值、趋势分析
  • 🔄 数据合并:合并多个文件
  • 📉 可视化:生成图表
  • 📋 多格式输出:Markdown、Excel、Word、PDF
  • 🌍 多语言支持:英文、中文输出

触发条件

  • - Analyze this folder / 分析这个文件夹
  • Compare these Excel files / 对比这些Excel
  • Summarize the data / 汇总数据
  • data-analyzer

Python 代码

python
import os
import pandas as pd
from pathlib import Path
from docx import Document
import fitz # PyMuPDF

class DataAnalyzer:
def init(self, folder_path):
self.folder = Path(folder_path)
self.files = self.scanfiles()

def scanfiles(self):
扫描文件夹中的支持文件
files = {
excel: [], csv: [], word: [],
pdf: [], txt: [], markdown: []
}

for f in self.folder.rglob(*):
ext = f.suffix.lower()
if ext in [.xlsx, .xls]:
files[excel].append(str(f))
elif ext == .csv:
files[csv].append(str(f))
elif ext == .docx:
files[word].append(str(f))
elif ext == .pdf:
files[pdf].append(str(f))
elif ext == .txt:
files[txt].append(str(f))
elif ext in [.md, .markdown]:
files[markdown].append(str(f))

return files

def analyzeexcel(self, filepath):
分析 Excel 文件
df = pd.readexcel(filepath)
return {rows: len(df), columns: len(df.columns), data: df}

def analyzecsv(self, filepath):
分析 CSV 文件
df = pd.readcsv(filepath)
return {rows: len(df), columns: len(df.columns), data: df}

def analyzeword(self, filepath):
分析 Word 文件
doc = Document(file_path)
text = \n.join([p.text for p in doc.paragraphs if p.text.strip()])
return {paragraphs: len(doc.paragraphs), text: text}

def analyzepdf(self, filepath):
分析 PDF 文件
doc = fitz.open(file_path)
text =
for page in doc:
text += page.get_text()
result = {pages: len(doc), text: text}
doc.close()
return result

def analyzetxt(self, filepath):
分析 TXT 文件
with open(file_path, r, encoding=utf-8) as f:
text = f.read()
return {lines: len(text.split(\n)), text: text}

def analyzemarkdown(self, filepath):
分析 Markdown 文件
with open(file_path, r, encoding=utf-8) as f:
text = f.read()
return {lines: len(text.split(\n)), text: text}

def analyzefile(self, filepath):
自动检测并分析任何支持的文件
ext = Path(file_path).suffix.lower()

if ext in [.xlsx, .xls]:
return self.analyzeexcel(filepath)
elif ext == .csv:
return self.analyzecsv(filepath)
elif ext == .docx:
return self.analyzeword(filepath)
elif ext == .pdf:
return self.analyzepdf(filepath)
elif ext == .txt:
return self.analyzetxt(filepath)
elif ext in [.md, .markdown]:
return self.analyzemarkdown(filepath)
else:
return {error: f不支持的格式:{ext}}

def generate_summary(self):
生成分析摘要
summary = {totalfiles: 0, filedetails: []}

for ftype, flist in self.files.items():
for fpath in flist:
try:
analysis = self.analyze_file(fpath)
summary[file_details].append({
name: os.path.basename(fpath),
type: ftype,
analysis: analysis
})
summary[total_files] += 1
except Exception as e:
summary[file_details].append({
name: os.path.basename(fpath),
type: ftype,
error: str(e)
})

return summary



使用示例

用户:分析此文件夹中的所有 Excel 文件
代理:使用 DataAnalyzer 扫描并分析

用户:对比这些 CSV 文件
代理:读取并对比数据

用户:生成数据报告
代理:生成分析报告



注意事项

  • - 支持 .xlsx、.csv、.docx、.pdf 格式
  • 本地处理,不上传数据
  • 跨平台兼容

标签

skill ai

通过对话安装

该技能支持在以下平台通过对话安装:

OpenClaw WorkBuddy QClaw Kimi Claude

方式一:安装 SkillHub 和技能

帮我安装 SkillHub 和 data-analyzer-1775983461 技能

方式二:设置 SkillHub 为优先技能安装源

设置 SkillHub 为我的优先技能安装源,然后帮我安装 data-analyzer-1775983461 技能

通过命令行安装

skillhub install data-analyzer-1775983461

下载

⬇ 下载 data-analyzer v1.1.0(免费)

文件大小: 3.06 KB | 发布时间: 2026-4-13 09:58

v1.1.0 最新 2026-4-13 09:58
清理测试文件,重新发布

Archiver·手机版·闲社网·闲社论坛·羊毛社区· 多链控股集团有限公司 · 苏ICP备2025199260号-1

Powered by Discuz! X5.0   © 2024-2025 闲社网·线报更新论坛·羊毛分享社区·http://xianshe.com

p2p_official_large
返回顶部