数
数据分析器
作者:鹿Sir办公效率v3
多格式数据分析工具,支持 Excel、CSV、Word、PDF、TXT、Markdown 文件的数据提取、汇总统计、对比分析和报告生成。当用户需要数据分析、文件分析、数据汇总、统计报告、Excel分析时触发。触发词:数据分析、Excel分析、数据汇总、统计报告。
下载量
271
点赞
68
价格
免费
技能文档
---
name: data-analyzer
title: 数据分析器
category: 办公效率
description: 多格式数据分析工具,支持 Excel、CSV、Word、PDF、TXT、Markdown 文件的数据提取、汇总统计、对比分析和报告生成。当用户需要数据分析、文件分析、数据汇总、统计报告、Excel分析时触发。触发词:数据分析、Excel分析、数据汇总、统计报告。
---
# 数据分析器
对 Excel、CSV、Word、PDF 等文件中的数据进行分析和汇总。
## 功能特性
- 📊 **多格式输入**:支持 Excel、CSV、Word、PDF、TXT、Markdown
- 📁 **文件夹扫描**:批量分析整个文件夹中的文件
- 📈 **统计分析**:求和、平均值、趋势分析
- 🔄 **数据合并**:多个文件数据合并处理
- 📉 **可视化**:生成数据图表
- 📋 **多格式输出**:支持 Markdown、Excel、Word、PDF 格式输出
- 🌍 **多语言**:支持中英文输出
## 触发条件
- "分析这个文件夹"
- "对比这些Excel"
- "汇总数据"
- "data-analyzer"
---
## 核心代码
```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._scan_files()
def _scan_files(self):
"""Scan folder for supported files"""
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 analyze_excel(self, file_path):
"""Analyze Excel file"""
df = pd.read_excel(file_path)
return {'rows': len(df), 'columns': len(df.columns), 'data': df}
def analyze_csv(self, file_path):
"""Analyze CSV file"""
df = pd.read_csv(file_path)
return {'rows': len(df), 'columns': len(df.columns), 'data': df}
def analyze_word(self, file_path):
"""Analyze Word file"""
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 analyze_pdf(self, file_path):
"""Analyze PDF file"""
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 analyze_txt(self, file_path):
"""Analyze TXT file"""
with open(file_path, 'r', encoding='utf-8') as f:
text = f.read()
return {'lines': len(text.split('\n')), 'text': text}
def analyze_markdown(self, file_path):
"""Analyze Markdown file"""
with open(file_path, 'r', encoding='utf-8') as f:
text = f.read()
return {'lines': len(text.split('\n')), 'text': text}
def analyze_file(self, file_path):
"""Auto-detect and analyze any supported file"""
ext = Path(file_path).suffix.lower()
if ext in ['.xlsx', '.xls']:
return self.analyze_excel(file_path)
elif ext == '.csv':
return self.analyze_csv(file_path)
elif ext == '.docx':
return self.analyze_word(file_path)
elif ext == '.pdf':
return self.analyze_pdf(file_path)
elif ext == '.txt':
return self.analyze_txt(file_path)
elif ext in ['.md', '.markdown']:
return self.analyze_markdown(file_path)
else:
return {'error': f'Unsupported format: {ext}'}
def generate_summary(self):
"""Generate analysis summary"""
summary = {'total_files': 0, 'file_details': []}
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
```
---
## 技能工作流
### 步骤1:扫描目标文件夹
识别用户指定的文件夹路径,递归扫描其中所有支持格式的文件(Excel、CSV、Word、PDF、TXT、Markdown),建立文件清单。
### 步骤2:解析与分析数据
根据文件类型自动选择对应的解析方法,提取数据内容。支持自动识别文件格式并调用相应的分析模块。
### 步骤3:生成汇总报告
对分析结果进行汇总统计,根据用户需求生成 Markdown、Excel、Word 或 PDF 格式的分析报告。
### 步骤4:数据对比(可选)
当用户提供多个同类文件时,自动进行数据对比分析,识别差异与趋势。
---
## 使用示例
```
用户:"分析这个文件夹里所有的Excel文件"
助手:使用 DataAnalyzer 扫描并分析
用户:"对比这些CSV文件"
助手:读取并对比数据
用户:"生成一份数据报告"
助手:生成分析报告
```
---
## 注意事项
- 支持 .xlsx、.csv、.docx、.pdf、.txt、.md 格式
- 所有数据均在本地处理,不会上传至外部
- 跨平台兼容使用说明
# 数据分析器 多格式数据分析工具,支持 Excel、CSV、Word、PDF、TXT、Markdown 文件的数据提取、汇总统计、对比分析和报告生成。 ## 功能特性 - 多格式输入:Excel、CSV、Word、PDF、TXT、Markdown - 文件夹批量扫描与分析 - 数据统计:求和、平均值、趋势分析 - 多文件数据合并与对比 - 多格式输出:Markdown、Excel、Word、PDF ## 触发条件 - 分析这个文件夹 - 对比这些Excel - 汇总数据 - 数据分析、Excel分析、数据汇总、统计报告 ## 工作流程 1. 扫描目标文件夹,识别所有支持格式的文件 2. 根据文件类型自动选择解析方法,提取数据内容 3. 汇总统计并生成分析报告 4. 可选:多文件数据对比分析 ## 依赖 - Python 3 - pandas、openpyxl、python-docx、pymupdf、matplotlib ## 注意事项 - 所有数据在本地处理,不会上传至外部 - 跨平台兼容
支持平台:Qoder · QoderWork · Claude · Codex 等 AI 编程助手