tab_space_normalizer Tab空格规范化Skill
功能概述
三步处理:(1) Tab → 空格转换(可配置宽度);(2) 去除行尾多余空格;(3) 可选 de-indent(去除所有行的公共前导空格)。适用于代码、日志、表格文本的空白规范化。
触发条件
- Tab 转空格 / 制表符转空格
- 缩进规范化 / 行尾空格清除
- 公共缩进去除 / de-indent
- 空白字符统一
核心参数说明
必需参数
| 参数 | 说明 |
|---|---|
--input_path |
输入 CSV/TSV/Excel 等结构化文件路径 |
--output_path |
输出清洗后文件路径 |
可选参数
| 参数 | 说明 | 默认值 |
|---|---|---|
--text_columns |
需要处理的文本列,逗号分隔;不填则处理全部字符串列 | 全部字符串列 |
--tab_width |
Tab 展开为空格的数量 | 4 |
--strip_trailing |
是否去除行尾空格 | true |
--dedent |
去除公共前导缩进 | false |
输入文件格式
输入为结构化表格,文本列中可包含 Tab、行尾空格和公共缩进:
id,text
1,"tab\tinside"
2,"trail "
3," indented"
支持的文件格式
- CSV (.csv) / TSV (.tsv) / Excel (.xls, .xlsx) / SPSS (.sav)
使用方法
python scripts/tab_space_normalizer.py \
--input_path <输入文件> \
--output_path <输出文件> \
[--text_columns col1,col2] \
[--tab_width 2] \
[--strip_trailing true] \
[--dedent]
参数说明
| 参数 | 必填 | 说明 |
|---|---|---|
--input_path |
是 | 输入文件路径 |
--output_path |
是 | 输出文件路径 |
--text_columns |
否 | 处理的文本列 |
--tab_width |
否 | Tab 展开宽度 |
--strip_trailing |
否 | 是否去除行尾空格 |
--dedent |
否 | 去除公共前导缩进 |
输出示例
[OK] Tab/空格规范化完成 -> output.csv
列: ['text'], tab_width=4, strip_trailing=True, dedent=False
输入 tab\tinside → 输出 tab inside
环境要求
使用仓库内 Python 环境运行,无额外第三方依赖;读取/写入复用共享 data_io。
注意事项
- 使用 Python 标准
str.expandtabs(tab_width)进行 Tab 展开 - de-indent 使用
textwrap.dedent,只去除所有行共同的前导空格 - 处理顺序:Tab 展开 → 行尾空格 → de-indent