You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

处理TSV文件删除注释、移除首两列后导出TXT时如何给句子间添加空格

修改方案

你当前代码的问题是导出多列数据时使用了to_csv默认的逗号作为分隔符,没有按需求用空格拼接同一行的多列内容,修改后的完整代码如下:

import os
import pandas as pd

path = "All_TSV_Files"
files = [file for file in os.listdir(path) if file.endswith(".tsv")]

c = 0
for file in files:
    df = pd.read_csv(os.path.join(path, file), 
                     comment='#', 
                     header=None, 
                     sep='\t',
                     engine='python',
                     # 新版本pandas已弃用error_bad_lines,换成on_bad_lines参数兼容
                     on_bad_lines='skip')
    
    # 删除前两列
    df.drop(df.columns[[0, 1]], axis=1, inplace=True)
    if len(df.columns) >= 3:
        # 新增:逐行拼接所有剩余列,列之间用空格分隔
        df = df.apply(lambda row: ' '.join(row.astype(str)), axis=1)
        # 导出处理后的数据
        df.to_csv(os.path.join(path, f'admin{c}.txt'), index=False, header=False)
    c += 1

核心修改说明:

  • 新增的df.apply(lambda row: ' '.join(row.astype(str)), axis=1)逻辑会逐行处理所有剩余列,先把每列内容转为字符串格式,再用空格拼接为单个完整字符串,处理后DataFrame仅保留一列,每行就是分隔正确的完整内容
  • 替换了旧版参数error_bad_lines=False为on_bad_lines='skip',适配pandas 1.4及以上版本,如果你使用的是旧版本pandas,可改回原参数即可

内容的提问来源于stack exchange,提问作者Kimi Shui

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.05 22:33:03