从表中创建Python对象
我有一个SQL查询的结果,以表格的形式,如下所示: State County City California Monterey Salinas California Monterey Gonzalez California Alameda Oakland California Alameda Berkeley Oregon Douglas Roseberg Oregon Douglas Winston Oregon Jackson Medford Oregon Jackson Jacksonville stateObject = { "California": { "Monterey": ["Salinas", "Gonzales"], "Alameda": ["Oakland", "Berkeley"] }, "Oregon": { "Douglas": ["Roseburg", "Winston"], "Jackson": ["Medford", "Jacksonville"] } } 州县市 加利福尼亚州蒙特雷萨利纳斯 加州蒙特利冈萨雷斯 加州阿拉米达奥克兰 加州阿拉米达伯克利 俄勒冈州道格拉斯·罗斯伯格 俄勒冈州道格拉斯温斯顿 俄勒冈州杰克逊梅德福德 俄勒冈州杰克逊杰克逊镇 我想创建一个python对象,该对象在州内没有重复项,并按如下方式汇总城市: State County City California Monterey Salinas California Monterey Gonzalez California Alameda Oakland California Alameda Berkeley Oregon Douglas Roseberg Oregon Douglas Winston Oregon Jackson Medford Oregon Jackson Jacksonville stateObject = { "California": { "Monterey": ["Salinas", "Gonzales"], "Alameda": ["Oakland", "Berkeley"] }, "Oregon": { "Douglas": ["Roseburg", "Winston"], "Jackson": ["Medford", "Jacksonville"] } } stateObject={ “加利福尼亚”:{ “蒙特利”:[“萨利纳斯”、“冈萨雷斯”], “阿拉米达”:[“奥克兰”、“伯克利”] }, “俄勒冈州”:{ “道格拉斯”:[“罗斯堡”、“温斯顿”], “杰克逊”:[“梅德福德”、“杰克逊维尔”] } }从表中创建Python对象,python,python-3.x,Python,Python 3.x,我有一个SQL查询的结果,以表格的形式,如下所示: State County City California Monterey Salinas California Monterey Gonzalez California Alameda Oakland California Alameda Berkeley Oregon Douglas Roseberg Oregon Douglas Winston
如何创建此对象?您可以使用
defaultdict
:
from collections import defaultdict
s = """State County City
California Monterey Salinas
California Monterey Gonzalez
California Alameda Oakland
California Alameda Berkeley
Oregon Douglas Roseberg
Oregon Douglas Winston
Oregon Jackson Medford
Oregon Jackson Jacksonville"""
stateObject = defaultdict(lambda: defaultdict(list))
for line in s.split("\n")[1:]:
state, county, city = line.split()
stateObject[state][county].append(city)
你有代码吗?欢迎来到Stackoverflow!如果你想得到积极的回应,你应该读一读。一个好的规则是始终包含到目前为止您尝试过的代码,或者至少包含其中的相关部分。