🏠 首页
⬇️ 下载
import os

# ================= 配置区域 =================
INPUT_FILE = '初始文本.txt'  # 你的原始脏数据
OUTPUT_FILE = '文本.txt'     # 清洗后给模型吃的干净数据
# ===========================================

def clean_special_format(text):
    """
    专门针对 '收起评价' 和 双引号 格式的清洗函数
    """
    # 1. 先去头去尾的空格、换行符、制表符
    # 这一步能杀掉 90% 的 "纯缩进空行"
    text = text.strip()
    
    # 2. 去掉那个烦人的 "收起评价"
    text = text.replace("收起评价", "")
    
    # 3. 去掉包裹在最外面的双引号
    # 注意:这里用 replace 比较暴力,如果文中本来就有引号也会被删
    # 但对于评论数据,删掉引号通常没影响
    text = text.replace('"', '')
    
    # 4. 再次清洗 (因为删掉 "收起评价" 后,可能又露出了空格)
    text = text.strip()
    
    return text

def main():
    if not os.path.exists(INPUT_FILE):
        print(f"❌ 找不到文件: {INPUT_FILE},请确认文件名。")
        return

    print(f"📖 正在读取 {INPUT_FILE} ...")
    
    valid_lines = []
    
    # encoding='utf-8': 如果报错,可以试着改成 'gb18030'
    with open(INPUT_FILE, 'r', encoding='utf-8', errors='ignore') as f:
        raw_lines = f.readlines()
        
    print(f"🔄 正在清洗 {len(raw_lines)} 行原始数据...")

    for i, line in enumerate(raw_lines):
        # 执行清洗
        cleaned = clean_special_format(line)
        
        # 5. 【核心保命步骤】
        # 只有当清洗完长度 > 0 时,才算有效数据
        # 那些原本只有制表符的行,现在变成了空串,会被自动扔掉
        if len(cleaned) > 0:
            valid_lines.append(cleaned)

    # 写入结果
    print(f"💾 正在保存至 {OUTPUT_FILE} ...")
    with open(OUTPUT_FILE, 'w', encoding='utf-8') as f:
        for line in valid_lines:
            f.write(line + '\n')
            
    print("-" * 30)
    print(f"✅ 清洗完成!")
    print(f"   原始行数: {len(raw_lines)}")
    print(f"   有效行数: {len(valid_lines)}")
    print(f"   🗑️ 剔除垃圾行: {len(raw_lines) - len(valid_lines)}")
    print("-" * 30)
    print("🚀 现在你可以用 _02embedding_sentence_transformer.py 跑这个新文件了!")

if __name__ == "__main__":
    main()
链接已复制!
可在终端使用 wget "链接" 下载