我的数据如下
Value(City) Key1 Key3 Key4
Baltimore 111111 111 122
Towson 111111 111 122
Columbia 111111 111 122
SilverSpring 111111 222 122
Burtsville 111111 222 122
Ellicotcity 111111 222 122
通过创建字典目前我正在将上述内容分组为:
if key1 in data_dict:
data_dict[key1].append(value)
else:
data_dict[Key1] = [value,]
并使用以下代码插入数据。
collection.insert_many([{'key': k, 'values': v} for k,v in data_dict.items()])
Key : 111111
Values : [Baltimore, Towson, Columbia, SilverSpring, Burtsville, EllicotCity]
但我必须创建一个这样的字典。 第一部分我能够用上面提到的代码推导出来。 我无法生成具有“键”的第二部分
{
Values :
[ "Baltimore",
"Towson",
"Columbia",
"SilverSpring",
"Burtsville",
"Ellicotcity"
]
Keys : [
{key1 : 111111},
{Key2 : [1,1,1,2,2,2]}, #group array numbers just running numbers indicating the position
{Key3 : [111,222]}, #Address Number unique
{Key4 : [122]} #Record2Pos Number unique
]
}
经过研究,我发现我们必须使用嵌套字典。 我是Python新手,需要帮助。
答案 0 :(得分:0)
这是一个在python提示符下完成的简短示例 - 在创建模块以测试您正在学习的概念之前,这是一种尝试代码的好方法。
>>> dict1 = {'a':0,'b':1}
>>> dict2 = {'c':2,'d':3}
>>> nestedDict = {'key0':dict1, 'key1':dict2}
>>> dict1
{'a': 0, 'b': 1}
>>> dict2
{'c': 2, 'd': 3}
>>> nestedDict
{'key1': {'c': 2, 'd': 3}, 'key0': {'a': 0, 'b': 1}}
>>> nestedDict.keys()
['key1', 'key0']
>>> nestedDict.values()
[{'c': 2, 'd': 3}, {'a': 0, 'b': 1}]
从这里开始,您必须弄清楚如何根据需要构建数据。此外,您应该搜索如何创建字典。有很多方法,详见SO。