从表中创建Python对象

从表中创建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

我有一个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={ “加利福尼亚”:{ “蒙特利”:[“萨利纳斯”、“冈萨雷斯”], “阿拉米达”:[“奥克兰”、“伯克利”] }, “俄勒冈州”:{ “道格拉斯”:[“罗斯堡”、“温斯顿”], “杰克逊”:[“梅德福德”、“杰克逊维尔”] } }
如何创建此对象?

您可以使用
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!如果你想得到积极的回应,你应该读一读。一个好的规则是始终包含到目前为止您尝试过的代码,或者至少包含其中的相关部分。