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

如何将txt文件中英文、乌尔都语文本转换为两列结构DataFrame

TXT乌尔都语-标签数据集转Pandas DataFrame实现方案

前置说明

该方案适配你描述的数据集结构:单条样本由2行组成,第一行为乌尔都语自然文本,第二行为对应英文标签(取值范围为Real/politics/sarcasm/rise moral),代码自带空行过滤、标签合法性校验逻辑,避免行错位导致的数据污染。

实现步骤

  • 安装依赖
    首先确保环境中已安装pandas,未安装的话执行以下命令:
    pip install pandas
    
  • 运行解析代码
    将代码中的文件路径替换为你本地txt数据集的实际路径后运行即可:
    import pandas as pd
    
    # 替换为你的txt文件实际存储路径
    TXT_PATH = "your_urdu_dataset.txt"
    # 定义合法标签集合,用于校验行错位、异常值
    LEGAL_LABELS = {"Real", "politics", "sarcasm", "rise moral"}
    
    # 读取文件
    # 注意:必须指定支持乌尔都语字符集的编码格式,否则读取后会出现乱码
    with open(TXT_PATH, "r", encoding="utf-8") as f:
        # 逐行清洗:去掉首尾换行、空白字符,过滤无内容空行
        raw_lines = [line.strip() for line in f if line.strip()]
    
    urdu_col = []
    en_label_col = []
    
    # 每2行作为一组遍历解析
    for idx in range(0, len(raw_lines), 2):
        current_urdu = raw_lines[idx]
        current_label = raw_lines[idx + 1]
        # 仅保留标签合法的样本,过滤错位异常数据
        if current_label in LEGAL_LABELS:
            urdu_col.append(current_urdu)
            en_label_col.append(current_label)
    
    # 生成目标DataFrame,列名可按需调整
    df = pd.DataFrame({
        "乌尔都语内容": urdu_col,
        "英文标签内容": en_label_col
    })
    
    # 校验:打印前5条数据确认解析正确
    print(df.head())
    # 可选:将解析结果保存为CSV文件方便后续使用
    df.to_csv("parsed_urdu_dataset.csv", index=False, encoding="utf-8-sig")
    

异常情况适配

  • 如果读取时出现乌尔都语乱码,将open函数的encoding参数替换为utf-8-sig即可适配带BOM头的TXT文件。
  • 如果你的乌尔都语文本存在跨多行的情况,可以先在不同样本之间加固定分隔符(比如---),修改解析逻辑为:按分隔符切分样本块,每个块的最后一行为标签,其余行拼接为乌尔都语文本即可。
  • 如果标签存在大小写不统一、前后多余空格的问题,可以在校验前对标签做标准化处理,比如current_label = current_label.strip()后再做值映射匹配。

内容的提问来源于stack exchange,提问作者Ahmad Mahmood

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 08:12:12