Python:在一个文本文件中的一个表中写入多个嵌套字典,用tab分隔

Python:在一个文本文件中的一个表中写入多个嵌套字典,用tab分隔,python,python-2.7,dictionary,string-formatting,Python,Python 2.7,Dictionary,String Formatting,我是Python新手,我正在努力将多个嵌套字典打印在一个表中,并用tab分隔 我编写了一个脚本,从输入文件读取数据,并将数据存储在3个不同的字典中: d1 = {'Ben': {'Skill': 'true', 'Magic': 'false'}, 'Tom': {'Skill': 'true', 'Magic': 'true'}} d2 = {'Ben': {'Strength': 'wo_mana', 'Int': 'wi_mana', 'Speed': 'wo_mana'}, 'Tom':

我是Python新手,我正在努力将多个嵌套字典打印在一个表中,并用tab分隔

我编写了一个脚本,从输入文件读取数据,并将数据存储在3个不同的字典中:

d1 = {'Ben': {'Skill': 'true', 'Magic': 'false'}, 'Tom': {'Skill': 'true', 'Magic': 'true'}}
d2 = {'Ben': {'Strength': 'wo_mana', 'Int': 'wi_mana', 'Speed': 'wo_mana'}, 'Tom': {'Int': 'wi_mana', 'Agility': 'wo_mana'}}
d3 = {'Ben': {'Strength': '1.10', 'Int': '1.20', 'Speed': '1.50'}, 'Tom': {'Int': '1.40', 'Agility': '1.60'}}
我想以表格格式表示数据,在Excel中打开时,它看起来像这样:

Name Skill Magic wo_mana          wi_mana
Ben  true  false Strength = 1.10  Int = 1.20
                 Speed = 1.50
Tom  true  true  Agility = 1.60   Int = 1.40
Name\tSkill\tMagic\two_mana\twi_mana
Ben\ttrue\tfalse\tStrength = 1.10\tInt = 1.20
\t\t\tSpeed = 1.50\t
Tom\ttrue\ttrue\tAgility = 1.60\tInt = 1.40
因此,我希望输出文件中的输出如下:

Name Skill Magic wo_mana          wi_mana
Ben  true  false Strength = 1.10  Int = 1.20
                 Speed = 1.50
Tom  true  true  Agility = 1.60   Int = 1.40
Name\tSkill\tMagic\two_mana\twi_mana
Ben\ttrue\tfalse\tStrength = 1.10\tInt = 1.20
\t\t\tSpeed = 1.50\t
Tom\ttrue\ttrue\tAgility = 1.60\tInt = 1.40
我知道我可以使用
csv
模块来实现这一点,但是对于
csv
中的一条记录来说,多行似乎没有意义,因此我决定尝试
字符串格式设置

我尽了最大努力,这就是我迄今为止所写的:

print('Name\tSkill\tMagic\two_mana\twi_mana\n')
for key in d1:
    print('%s\t%s\t%s' %(key, d1[key]['Skill'], d1[key]['Magic']))
它在前3列中运行良好,
Name、Skill和Magic

我的问题是如何将
wo\u mana
wi\u mana
数据打印到同一个表中?我是否应该将词典更改为:

d1 = {'Ben': {'Skill': 'true', 'Magic': 'false'}, 'Tom': {'Skill': 'true', 'Magic': 'true'}}
d23 = {'Ben': {'wo_mana': 'Strength = 1.10', 'wi_mana': 'Int = 1.20', 'wo_mana': 'Speed = 1.50'}, 'Tom': {'wi_mana': 'Int = 1.40', 'wo_mana': 'Agility = 1.60'}}
这样它们就更容易用
字符串格式打印了

编辑

如果我的词典采用以下形式:

d123 = {'Ben': {'wo_mana': ['Strength = 1.10', 'Speed = 1.50'], 'wi_mana': ['Int = 1.20'], 'Skill': 'true', 'Magic': 'false'},
        'Tom': {'wi_mana': ['Int = 1.40'], 'wo_mana': ['Agility = 1.60'], 'Skill': 'true', 'Magic': 'true'}}
会更容易吗

我试图为
d123
编写代码,但它仍然不适用于我:

for key in d123_new:
    print('%s\t%s\t%s\t%s' %(d123_new[key]['Skill'], d123_new[key]['Magic'], x for x in d123_new[key]['wo_mana'], y for y in d123_new[key]['wi_mana']))
请告诉我如何打印的表格格式,我上面提到的数据,我已经尝试了一切,我可以想到的,任何帮助将不胜感激