这是我的数据
data = {'user_a': {u'tmx_animation': [u'import_path-PRJ-1'], u'tmx_cfx': [u'import_path-PRJ-1'], u'tmx_sat_tools': [u'staging'], u'tmx_zone_houdini': [u'import_path-PRJ-1'], u'tmx_zone_katana': [u'import_path-PRJ-1'], u'tmx_zone_health': [u'import_path-PRJ-1'], u'tmx_zone_health': [u'import_path-PRJ-1'], u'tmx_surfacing': [u'import_path-PRJ-1'], u'tmx_motion_render': [u'import_path-PRJ-1'], u'tmx_tools': [u'import_path-PRJ-1'], u'tmx_tx_publish': [u'import_path-PRJ-1']}}
,我想输出类似User has project的内容,并且他的项目的前面列出了分支。 但我正在使用黑客方法获取以下格式。
+----------------+---------------------------+---------------------------+
| User | Project | Branch |
+----------------+---------------------------+---------------------------+
| user_a | | |
| | tmx_tx_publish | |
| | | import_path-PRJ-1 |
| | tmx_sat_tools | |
| | | staging |
| | tmx_animation | |
| | | import_path-PRJ-1 |
| | tmx_motion_render | |
| | | import_path-PRJ-1 |
| | tmx_cfx | |
| | | import_path-PRJ-1 |
| | tmx_tools | |
| | | import_path-PRJ-1 |
| | tmx_surfacing | |
| | | import_path-PRJ-1 |
| | tmx_zone_health | |
| | | import_path-PRJ-1 |
| | tmx_zone_katana | |
| | | import_path-PRJ-1 |
| | tmx_zone_houdini | |
| | | import_path-PRJ-1 |
+----------------+---------------------------+---------------------------+
我写的代码是这样的:
table = PrettyTable(field_names=["User", "Project", "Branch"], padding_width=5)
for author, projects in data.iteritems():
table.add_row([author, "", ""])
for project, branches in projects.iteritems():
table.add_row(["", project, ""])
for branch in branches:
table.add_row(["", "", branch])
print table.get_string()
现在我要的格式是我想要的格式,第一个项目名称应该在用户的前面,而第一个分支应该在第一个项目的前面。