добавление столбца в строку PrettyTable - PullRequest
0 голосов
/ 10 октября 2018

это мои данные:

 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']}}

, и я хотел вывести что-то вроде Пользователь имеет проект, и перед его проектом есть ветви, перечисленные перед ним.но я получаю следующий формат, используя взломать apprach.

+----------------+---------------------------+---------------------------+
|      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()

форматирование, которое я получаю, теперь то, что я хотел, первоеимя проекта должно быть перед пользователем и первой веткой перед первым проектом.

...