Files
iov_data_analysis_agent/data_preprocessing/README.md
2026-02-02 09:44:07 +08:00

2.4 KiB

数据预处理模块

独立的数据清洗工具,用于在正式分析前准备数据。

功能

  • 数据合并:将多个 Excel/CSV 文件合并为单一 CSV
  • 时间排序:按时间列对数据进行排序
  • 目录管理:标准化的原始数据和输出数据目录

目录结构

project/
├── raw_data/           # 原始数据存放目录
│   ├── remotecontrol/  # 按数据来源分类
│   └── ...
├── cleaned_data/       # 清洗后数据输出目录
│   ├── xxx_merged.csv
│   └── xxx_sorted.csv
└── data_preprocessing/ # 本模块

使用方法

命令行

# 初始化目录结构
python -m data_preprocessing.cli init

# 合并 Excel 文件
python -m data_preprocessing.cli merge --source raw_data/remotecontrol

# 合并并按时间排序
python -m data_preprocessing.cli merge --source raw_data/remotecontrol --sort-by SendTime

# 指定输出路径
python -m data_preprocessing.cli merge -s raw_data/remotecontrol -o cleaned_data/my_output.csv

# 排序已有 CSV
python -m data_preprocessing.cli sort --input some_file.csv --time-col SendTime

# 原地排序(覆盖原文件)
python -m data_preprocessing.cli sort --input data.csv --inplace

Python API

from data_preprocessing import merge_files, sort_by_time, Config

# 合并文件
output_path = merge_files(
    source_dir="raw_data/remotecontrol",
    output_file="cleaned_data/merged.csv",
    pattern="*.xlsx",
    time_column="SendTime"  # 可选:合并后排序
)

# 排序 CSV
sorted_path = sort_by_time(
    input_path="data.csv",
    output_path="sorted_data.csv",
    time_column="CreateTime"
)

# 自定义配置
config = Config()
config.raw_data_dir = "/path/to/raw"
config.cleaned_data_dir = "/path/to/cleaned"
config.ensure_dirs()

配置项

配置项 默认值 说明
raw_data_dir raw_data/ 原始数据目录
cleaned_data_dir cleaned_data/ 清洗输出目录
default_time_column SendTime 默认时间列名
csv_encoding utf-8-sig CSV 编码格式

注意事项

  1. 本模块与 DataAnalysisAgent 完全独立,不会相互调用
  2. 合并时会自动添加 _source_file 列标记数据来源(可用 --no-source-col 禁用)
  3. Excel 文件会自动合并所有 Sheet
  4. 无效时间值在排序时会被放到最后