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

使用TextBlob提取词性后无法保存至CSV的报错问题求助

解决TextBlob提取词性后无法保存CSV的问题

嘿,我来帮你搞定这个报错!你遇到的AttributeError: 'TextBlob' object has no attribute 'to_csv'其实很好理解——TextBlob对象本身压根就没有to_csv这个方法,这个方法是pandas的DataFrame专属的,所以直接对着blob调用肯定会报错啦。

要实现“提取名词、形容词、动词并保存到CSV”的需求,我们需要先把TextBlob提取到的词性数据整理成结构化格式,再用pandas来保存。下面是修改后的完整代码,我帮你加了详细注释:

from textblob import TextBlob
import os
import pandas as pd

# 切换到目标目录,替换成你的实际路径
os.chdir("你的文件路径")
# 读取文本数据(这里name.txt是文本文件,用pd.read_csv没问题,注意匹配文件格式)
data = pd.read_csv("name.txt", header=None, names=["Text"])

# 初始化一个空列表,用来存储最终要保存的数据
result_list = []

# 遍历每条文本
for idx, text in enumerate(data["Text"]):
    blob = TextBlob(text)
    # 打印词性标注结果(可选,用来验证提取是否正确)
    print(f"第{idx+1}条文本的词性标注:{blob.tags}")
    
    # 定义需要提取的词性对应的标签(TextBlob采用Penn Treebank词性标签体系)
    target_tags = {
        'nouns': ['NN', 'NNS', 'NNP', 'NNPS'],  # 普通名词、复数名词、专有名词等
        'adjectives': ['JJ', 'JJR', 'JJS'],     # 原级形容词、比较级、最高级
        'verbs': ['VB', 'VBD', 'VBG', 'VBN', 'VBP', 'VBZ']  # 各种时态/形式的动词
    }
    
    # 整理当前文本的提取结果,把同词性的词用逗号拼接
    extracted_data = {
        '原文本': text,
        '名词': ', '.join([word for word, tag in blob.tags if tag in target_tags['nouns']]),
        '形容词': ', '.join([word for word, tag in blob.tags if tag in target_tags['adjectives']]),
        '动词': ', '.join([word for word, tag in blob.tags if tag in target_tags['verbs']])
    }
    
    # 将当前文本的结果加入总列表
    result_list.append(extracted_data)

# 把结构化列表转换成pandas DataFrame
result_df = pd.DataFrame(result_list)

# 保存到CSV文件,index=False去掉索引列,utf-8-sig避免中文乱码
result_df.to_csv("词性提取结果.csv", index=False, encoding='utf-8-sig')

print("数据已成功保存到CSV文件!")

关键细节说明:

  • 如果你需要调整提取的词类,可以修改target_tags里的标签值,比如要提取副词就加上['RB', 'RBR', 'RBS']。
  • 最终我们把提取到的内容整理成字典,再转成DataFrame——这时候就能正常调用pandas的to_csv方法保存了。
  • 保存时的encoding='utf-8-sig'是为了兼容中文场景,若你的文本全是英文可以省略这个参数。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.22 09:54:25