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

如何将CSV的'text'列字符串分割为列表?解决Pandas报错

解决AttributeError: 'Series' object has no attribute 'split'问题

嘿,我来帮你搞定这个报错!先理清楚你遇到的问题:

你想把CSV里的text列转换成单词列表,但运行这段代码时触发了错误:

def html_words(): 
    legits_text = pd.read_csv('/Users/pmpilla/Documents/phishing/html_text.csv', delimiter=',') 
    list_text = legits_text["text"].split(" ") 

错误信息如下:

Traceback (most recent call last):
File "/Users/pmpilla/Documents/phishing/html_words/legit_path_words.py", line 70, in
html_words()
File "/Users/pmpilla/Documents/phishing/html_words/legit_path_words.py", line 30, in html_words
list_text = legits_text["text"].split(" ")
File "/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages/pandas/core/generic.py", line 3614, in getattr
return object.getattribute(self, name)
AttributeError: 'Series' object has no attribute 'split'

错误原因

legits_text["text"]返回的是pandas Series对象——它是一组字符串的集合,而非单个字符串。Python原生的split()是单个字符串的方法,不能直接作用于Series集合上,这就是报错的核心原因。

解决方案

你需要用pandas专门为字符串Series设计的str.split()方法,它会自动逐个处理Series里的每一个字符串:

1. 保留每行的单词列表(返回Series)

如果想让结果保留每行对应的单词列表,直接替换成str.split()即可:

def html_words(): 
    legits_text = pd.read_csv('/Users/pmpilla/Documents/phishing/html_text.csv', delimiter=',') 
    # 使用pandas的str.split()处理整个Series
    list_text = legits_text["text"].str.split(" ") 

此时list_text是一个Series,每个元素对应原CSV一行的单词列表。

2. 生成所有单词的扁平大列表

如果想把所有行的单词合并成一个无层级的大列表,可以用以下两种方式:

def html_words(): 
    legits_text = pd.read_csv('/Users/pmpilla/Documents/phishing/html_text.csv', delimiter=',') 
    # 方法1:用sum合并所有子列表
    all_words = legits_text["text"].str.split(" ").sum() 
    # 方法2:先展开成单个单词的Series,再转成列表
    all_words = legits_text["text"].str.split(" ").explode().tolist() 

额外优化:过滤空字符串

如果原文本存在连续空格,会生成空字符串元素,你可以用下面的代码过滤掉:

list_text = legits_text["text"].str.split(" ").apply(lambda x: [word for word in x if word])

内容的提问来源于stack exchange,提问作者Ani A.

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:30:51