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

如何使用Boost Tokenize库对CSV文件分词并解决字符串转换问题?

CSV分词与Tokenizer参数设置解决方案

一、CSV内容读取与预处理

先把CSV里的目标字符串提取出来,打破逐行处理的局限:

import pandas as pd

# 读取CSV,替换成你的目标列名
df = pd.read_csv("your_file.csv")
# 提取所有目标字符串,存入列表统一处理
texts = df["target_column"].tolist()

如果不用pandas,原生csv模块也能实现:

import csv

texts = []
with open("your_file.csv", "r", encoding="utf-8") as f:
    reader = csv.DictReader(f)
    for row in reader:
        texts.append(row["target_column"])  # 替换成你的目标列名

二、Tokenizer参数设置(以常见库为例)

1. Jieba(中文分词)

要自定义分词符号,可通过预处理替换分隔符或调整分词规则:

import jieba
import re

# 自定义分词符号集合,比如逗号、分号、竖线
custom_seps = r"[,;|]"
for text in texts:
    # 把自定义分隔符替换成空格,让jieba按分隔符拆分
    processed_text = re.sub(custom_seps, " ", text)
    # 精确模式分词,如需细粒度可设cut_all=True
    tokens = jieba.lcut(processed_text, cut_all=False)
    print(tokens)

2. Hugging Face Tokenizers(通用分词)

通过设置pre_tokenizer自定义分词规则,支持多分隔符组合:

from tokenizers import Tokenizer, pre_tokenizers
from tokenizers.models import WordLevel

# 初始化基础分词器
tokenizer = Tokenizer(WordLevel())
# 组合多分隔符规则,isolated表示保留分隔符作为单独token
pre_tokenizer = pre_tokenizers.Sequence([
    pre_tokenizers.Split(separator=",", behavior="isolated"),
    pre_tokenizers.Split(separator="|", behavior="isolated"),
    pre_tokenizers.Split(separator=" ", behavior="removed")
])
tokenizer.pre_tokenizer = pre_tokenizer

# 批量处理CSV提取的文本
for text in texts:
    output = tokenizer.encode(text)
    print(output.tokens)

3. NLTK(英文分词)

用RegexpTokenizer自定义正则分词模式:

from nltk.tokenize import RegexpTokenizer

# 正则规则:匹配单词,或指定分隔符作为独立token
tokenizer = RegexpTokenizer(r"\w+|[;,|]")
for text in texts:
    tokens = tokenizer.tokenize(text)
    print(tokens)

三、注意事项

  • 预处理时要清除CSV字符串中的转义字符(如\"),避免干扰分词
  • 若需处理多列内容,可循环遍历所有目标列存入texts列表
  • 正则定义分隔符时,需对.、*这类特殊字符添加转义符\

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.12 18:10:30