回答此问题可获得 20 贡献值,回答如果被采纳可获得 50 分。
<p>我有一个具有以下结构的csv文件:</p>
<pre><code>team,tournament,player
Team 1,spring tournament,Rebbecca Cardone
Team 1,spring tournament,Salina Youngblood
Team 1,spring tournament,Catarina Corbell
Team 1,summer tournament,Cara Mejias
Team 1,summer tournament,Catarina Corbell
...
Team 10, spring tournament,Jessi Ravelo
</code></pre>
<p>我想创建一个嵌套字典(团队、锦标赛),其中包含玩家字典列表。期望的结果是:</p>
<pre><code>{'data':
{Team 1:
{'spring tournament':
{'players': [
{name: Rebecca Cardone},
{name: Salina Youngblood},
{name: Catarina Corbell}]
},
{'summer tournament':
{'players': [
{name: Cara Mejias},
{name: Catarina Corbell}]
}
}
},
...
{Team 10:
{'spring tournament':
{'players': [
{name: Jessi Ravelo}]
}
}
}
}
</code></pre>
<p>我一直在努力把它格式化成这样。我已经能够成功地嵌套第一级(团队-->;锦标赛),但我无法嵌套第二级。目前,我的代码如下所示:</p>
<pre><code>d = {}
header = True
with open("input.csv") as f:
for line in f.readlines():
if header:
header = False
continue
team, tournament, player = line.strip().split(",")
d_team = d.get(team,{})
d_tournament = d_team.get(tournament, {})
d_player = d_tournament.get('player',['name'])
d_player.append(player)
d_tournament['player'] = d_tournament
d_team[tournament] = d_tournament
d[team] = d_team
print(d)
</code></pre>
<p>修复代码以便创建嵌套字典的下一步是什么</p>