ValueError:字典更新序列元素#0的长度为3; 2是必需的

时间:2015-02-05 10:16:53

标签: json mongodb python-3.x pymongo

我正在尝试在MongoDB中插入值,但是我收到了这个错误:

  

ValueError:字典更新序列元素#0的长度为3; 2是必需的。

From pymongo import MongoClient

client = MongoClient()

db = client.abc_database

keys = []
values = []
key = input("enter keys:").split(",")
keys.append(key)
print(keys)
print(keys[0][1])
value = input("enter values").split(",")
values.append(value)
print(values)
fin = []
k = 0
while k < len(keys[0]):
    d = keys[0][k] + ":" + values[0][k]
    fin.append(d)
    k += 1
print(fin)
fin_id = db.fin.insert(dict([fin]))
print("successful")

1 个答案:

答案 0 :(得分:2)

您正在尝试通过首先将每个键连接到其值来从键值对构造dict

d = keys[0][k] + ":" + values[0][k]

改为使键值对元组:

d = keys[0][k], values[0][k]

然后你应该可以使用dict(fin)。请注意fin已经是一个列表;不要像在dict([fin])中那样包装在另一个列表中。