【发布时间】:2013-07-11 14:58:53
【问题描述】:
我一直在试图找出我做错了什么。
我正在从 Excel 中提取单元格值——用于类别、子项和要求的单元格值。
如果dict中已经存在category和subitem
ldict
我想附加它。我目前正在这样做:
ldict[(cat, sub)].append(req)
其中 cat、sub 和 req 是 Excel 中转换为字符串的 unicode 值:
req = unicodedata.normalize('NFKD', sh.Cells(a,i).Value).encode('ascii','ignore')
但是,我不断收到此错误:
Traceback (most recent call last):
File "C:\Users\jenhuang\My Documents\dude\comparestrings.py", line 35, in <module>
ldict[(cat, sub)].append(req)
AttributeError: 'str' object has no attribute 'append'
我的总体目标是在某个类别和子类别中搜索这些需求字符串以查找常用词。这是为了看看我是否可以创建一个自动化流程,我可以在其中为需求字符串建议类别和子类别。
有什么想法吗?
编辑
我认为这是因为我的口译员正在打电话
ldict[(cat,sub)]
作为一个字符串。我正在寻找解决方案。
【问题讨论】:
-
cat、sub、req和ldict[(cat, sub)]中的内容是什么,您希望在此行之后的ldict[(cat, sub)]中以什么结尾?在不知道您要做什么的情况下,我们无法告诉您该怎么做,或者您做错了什么。 -
@abarnert 我已经编辑过了。请立即查看。
-
我仍然看不到
ldict[(cat, sub)]中的内容,或者您想要在此行之后结束的内容。它应该是一个包含单词的字符串吗?包含一堆此类字符串的列表?将一组单词映射到其他类型的字典?使用对等 IP 地址作为键的有序 dict 映射套接字到堆栈帧? -
@abarnert ldict[(cat, sub)] 是一个包含一堆字符串的元组字典。
-
这是不可能的。如果值是字符串元组,则错误消息将为
'tuple' object has no attribute 'append'。所以,你显然没有你认为你拥有的东西,而且在你弄清楚你拥有什么之前,你将无法修复它。试着打印出这些值和它们的类型,看看你在哪里弄糊涂了。无论如何,如果你确实有字符串元组,你不能追加到一个元组——但你可以做ldict[(cat, sub)] = ldict[(cat, sub)] + (req,),这可能已经足够了。
标签: python unicode dictionary append