2.4 KiB
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 编码格式 |
注意事项
- 本模块与
DataAnalysisAgent完全独立,不会相互调用 - 合并时会自动添加
_source_file列标记数据来源(可用--no-source-col禁用) - Excel 文件会自动合并所有 Sheet
- 无效时间值在排序时会被放到最后