批量改名 + 编码统一:工程化最后一公里
Bulk Rename & Encoding: Production-Ready Output
分析做完了,要把结果文件交给老板/同事/客户 — 文件命名规范、编码统一、目录结构清晰,是工程化的最后一公里。
1. UTF-8 编码统一
import os
from pathlib import Path
for txt_file in Path('raw_data').rglob('*.txt'):
try:
with open(txt_file, 'rb') as f:
raw = f.read()
text = raw.decode('gbk', errors='ignore')
with open(txt_file, 'w', encoding='utf-8') as f:
f.write(text)
except Exception as e:
print(f'跳过 {txt_file}: {e}')
2. 批量改名(按时间 / 来源 / 关键词)
import re
from datetime import datetime
def rename_comment_file(filepath):
p = Path(filepath)
text = p.read_text(encoding='utf-8')[:500]
date_match = re.search(r'(\d{4}-\d{2}-\d{2})', text)
date = date_match.group(1) if date_match else datetime.now().strftime('%Y-%m-%d')
source = 'unknown'
if '淘宝' in text: source = 'taobao'
elif '京东' in text: source = 'jd'
elif '抖音' in text: source = 'douyin'
words = jieba.lcut(text)
keyword = max(set(words), key=words.count) if words else 'mixed'
new_name = f'{date}_{source}_{keyword}.txt'
new_path = p.parent / new_name
p.rename(new_path)
for f in Path('messy_data/').glob('*.txt'):
rename_comment_file(f)
命名规范三大原则:1) 可读(人眼看懂);2) 可排序(按字典序就是时间序);3) 包含元信息(日期/来源/类型)。
YYYY-MM-DD_source_topic.txt 是经过验证的好格式。
3. 完整流水线整合
前面 8 节教程(基础/分词/统计/去重/清洗/批量改名)就是文本分析的工程化完整链路:
raw_data/
→ 1_read.py # 读 CSV/TXT
→ 2_clean.py # 正则清洗
→ 3_dedup.py # 去重
→ 4_filter.py # 过滤水军
→ 5_rename.py # 批量改名
clean_data/ # 输出,可直接喂给分析模块
2026-06-01_taobao_手机.txt
2026-06-01_jd_电视.txt
想跳过写代码,直接出干净语料?
配套软件内置 12 项清洗规则 + 去重 + 去水军 + 批量改名,导入即出干净语料 + 标准命名