m0_53181466 2021-12-15 18:45 采纳率: 100%
浏览 193
已结题

PYTHON将字典打印成表格

将字典打印成表格

{portfolio = { 
    'date' : '2013-11-27',
    'cash' : 10000,
    'ABC' : 5,
    'DEF' : 8
}}

Your portfolio on 2013-11-27:

Capital type          | Volume  | Val/Unit*    | Value in ¥*
------------------------+-----------+---------------+------------------
 Cash                    |      1       |10000.00   |    10000.00
 Shares of ABC     |      5       |    686.50   |     3432.50
 Shares of DEF     |      8       |    504.11   |     4032.87
------------------------+-----------+--------------+---------------------
 TOTAL VALUE                                           17465.37

  • 写回答

4条回答 默认 最新

  • CSDN专家-HGJ 2021-12-15 19:54
    关注

    题目中漏掉了一些数据,根据处理结果要求构建了一下,主要对字典健值的操作,使用tabulate库打印出格式化表格,参考如下代码:

    from tabulate import tabulate
    orig = {'portfolio': {
        'date': '2013-11-27',
        'cash': 1,
        'ABC': 5,
        'DEF': 8
    },'Val/Unit*':{
        'cash': 10000,
        'ABC': 686.50,
        'DEF': 504.11
    }
    }
    t=list(orig.keys())[0]
    vol=orig[t]
    table_header = ['Capital type', 'Volume', 'Val/Unit*', 'Value in ¥*']
    date=vol['date']
    print(f'Your {t} on {date}:')
    vs=dict()
    for a,b,c in zip(list(vol.keys())[1:],list(orig[t].values())[1:],orig['Val/Unit*'].values()):
        vs.update({a:b*c})
    orig.update({"Value in ¥*": vs})
    table_data=[(x,y,z,u) for x,y ,z ,u in zip(['Cash','Shares of ABC','Shares of DEF'],list(orig[t].values())[1:],list(orig['Val/Unit*'].values()),list(orig['Value in ¥*'].values()))]
    #print(table_data)
    print(tabulate(table_data, headers=table_header, tablefmt='grid'))
    print(f'TOTAL VALUE{sum(orig["Value in ¥*"].values()):>45}')
    
    
    

    运行结果:

    F:\2021\qa\ot3>t1
    Your portfolio on 2013-11-27:
    +----------------+----------+-------------+---------------+
    | Capital type   |   Volume |   Val/Unit* |   Value in ¥* |
    +================+==========+=============+===============+
    | Cash           |        1 |    10000    |      10000    |
    +----------------+----------+-------------+---------------+
    | Shares of ABC  |        5 |      686.5  |       3432.5  |
    +----------------+----------+-------------+---------------+
    | Shares of DEF  |        8 |      504.11 |       4032.88 |
    +----------------+----------+-------------+---------------+
    TOTAL VALUE                                     17465.38
    
    

    如对你有帮助 ,请点采纳按钮支持一下。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(3条)

报告相同问题?

问题事件

  • 系统已结题 12月23日
  • 已采纳回答 12月15日
  • 创建了问题 12月15日

悬赏问题

  • ¥20 基于MSP430f5529的MPU6050驱动,求出欧拉角
  • ¥20 Java-Oj-桌布的计算
  • ¥15 powerbuilder中的datawindow数据整合到新的DataWindow
  • ¥20 有人知道这种图怎么画吗?
  • ¥15 pyqt6如何引用qrc文件加载里面的的资源
  • ¥15 安卓JNI项目使用lua上的问题
  • ¥20 RL+GNN解决人员排班问题时梯度消失
  • ¥60 要数控稳压电源测试数据
  • ¥15 能帮我写下这个编程吗
  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路