AttributeError:“dict”对象没有属性“split”将逗号分隔的标签转换为列表

Posted

技术标签:

【中文标题】AttributeError:“dict”对象没有属性“split”将逗号分隔的标签转换为列表【英文标题】:AttributeError: 'dict' object has no attribute 'split' to convert comma separated labels into a list 【发布时间】:2021-01-10 19:18:51 【问题描述】:

您好,请帮助我处理此代码。它显示了这个错误。我正在尝试来自 (https://www.thepythoncode.com/article/skin-cancer-detection-using-tensorflow-in-python) 这个网站的代码示例。


AttributeError                            Traceback (most recent call last)

<ipython-input-7-39f8cfd85d69> in <module>
 
 28 # you should replace "data" path to your extracted dataset path

 29 # don't replace if you used download_and_extract_dataset() function

---> 30 generate_csv("data/train", "nevus": 0, "seborrheic_keratosis": 0, 
"melanoma": 1)

31 generate_csv("data/valid", "nevus": 0, "seborrheic_keratosis": 0, 
"melanoma": 1)

 32 generate_csv("data/test", "nevus": 0, "seborrheic_keratosis": 0, 
 "melanoma": 1)


<ipython-input-7-39f8cfd85d69> in generate_csv(folder, labels)
  6     label2int = 
  7     if labels:
  ----> 8         labels = labels.split(",")
  9         for label in labels:
 10             string_label, integer_label = label.split("=")

 AttributeError: 'dict' object has no attribute 'split'

Code Picture

【问题讨论】:

【参考方案1】:

在您致电generate_csv 时,更改

"nevus": 0, "seborrheic_keratosis": 0, "melanoma": 1

到:

"nevus=0,seborrheic_keratosis=0,melanoma=1"

它需要一个字符串,而不是一个字典。该字符串由一系列以逗号分隔的绑定组成,其中每个绑定的格式为“name=value”。

【讨论】:

您好,我尝试了您的解决方案,但它显示了不同的错误。 AttributeError: 'set' 对象没有属性 'split' ----> 8 个标签 = labels.split(",") @PriyaS 删除花括号。进行我展示的 exact 替换。您只更换了中心部分。将“之前”文本完全替换为“之后”文本。 “之前”文本包括花括号。 “之后”文本没有。您需要传递一个字符串。由于您没有删除花括号,因此您传递的是 set,这是行不通的。

以上是关于AttributeError:“dict”对象没有属性“split”将逗号分隔的标签转换为列表的主要内容,如果未能解决你的问题,请参考以下文章

Django 频道实时聊天:AttributeError:“消息”对象没有属性“as_dict”

AttributeError:“模块”对象没有属性“SVM_LINEAR”

DeepFace.analyze:AttributeError:模块'keras.utils.generic_utils'没有属性'populate_dict_with_module_objects

如何更正错误“AttributeError: 'dict_keys' object has no attribute 'remove'”?

获取 AttributeError: 'dict' object has no attribute 'parse' 。尝试读入多个 xlsx 文件时

AttributeError: 'dict' object has no attribute 'iteritems'