在dict中附加一个值

时间:2017-05-04 21:45:52

标签: python pandas dictionary

我有一个三列的excel文件。我希望第一列成为键,然后创建接下来两列的列表作为值。

然而,.append功能似乎并不适合我

d = {}

for index, row in df.iterrows():
    d[row[0]] = row[1]
    d[row[0]].append(row[2])

AttributeError:' unicode'对象没有属性'追加'

1 个答案:

答案 0 :(得分:2)

您正在将unicode对象指定为dict值,然后尝试在该unicode对象上调用append。相反,您应该将初始值指定为列表,如下所示:

d = {}

for index, row in df.iterrows():
    d[row[0]] = [row[1]]
    d[row[0]].append(row[2])

更好的方法是:

d[row[0]] = row[1:]

或者也许:

a, *b = row
d[a] = b