Python制表:将多个列表放入单个表中
我正在尝试使用Python制表:将多个列表放入单个表中,python,python-2.7,Python,Python 2.7,我正在尝试使用制表包打印一些表格。例如,我目前有一个脚本,可以接收模型运行输出日志文件并打印一些计时: (437) $ ./GCM_Times_Tables.py -f 1day.works4.out -t 1day --brief GridComp 1day ------------- ------- SUPERDYNAMICS 87.798 PHYSICS 246.729 AGCM 326.930 OGCM
制表
包打印一些表格。例如,我目前有一个脚本,可以接收模型运行输出日志文件并打印一些计时:
(437) $ ./GCM_Times_Tables.py -f 1day.works4.out -t 1day --brief
GridComp 1day
------------- -------
SUPERDYNAMICS 87.798
PHYSICS 246.729
AGCM 326.930
OGCM 1.879
GCS 330.248
HIST 9.229
EXTDATA 60.872
(438) $ ./GCM_Times_Tables.py -f 2day.out -t 2day --brief
GridComp 2day
------------- -------
SUPERDYNAMICS 171.870
PHYSICS 484.011
AGCM 635.895
OGCM 2.454
GCS 640.896
HIST 17.739
EXTDATA 103.484
我的脚本遍历文件,最后得到一个OrderedDict:
OrderedDict([('SUPERDYNAMICS', 87.798), ('PHYSICS', 246.729), ('AGCM', 326.93), ('OGCM', 1.879), ('GCS', 330.248), ('HIST', 9.229), ('EXTDATA', 60.872)])
然后通过制表:
print tabulate(myTimes.items(),headers=['GridComp',tag],tablefmt=tableFormat,floatfmt=".3f")
不过,我现在想做的是扩展我的脚本,以便传入多个文件(我知道如何在argparse
中执行此操作),然后获得如下内容:
GridComp 1day 2day
------------- ------- -------
SUPERDYNAMICS 87.798 171.870
PHYSICS 246.729 484.011
AGCM 326.930 635.895
OGCM 1.879 2.454
GCS 330.248 640.896
HIST 9.229 17.739
EXTDATA 60.872 103.484
然后,我可以使用“wikitable”格式运行它,并将其粘贴到wiki页面中
我可以轻松地传入多个文件,并且可以轻松地扩展脚本,为每个文件构建OrderedPicts。事实上,我可以在“大”字典上的键是文件名的地方创建一个OrderedDict
但是,我不知道我需要做些什么才能得到喜欢的结果。查看我看到的列表示例,我发现combinedDict.items()
导致:
[('SUPERDYNAMICS',87.798,171.870),('PHYSICS',246.729,484.011)...]
那就足够了。我似乎不能做的是把这两张有序的图片用这种方式“合并”起来。有办法做到这一点吗?或者构建一个列表列表:
[['SUPERDYNAMICS',87.798,171.870],['PHYSICS',246.729,484.011]...]
可能是这样的itertools.chain.from_iterable([dict1.items(),dict2.items(),dict3.items())
可能是类似的东西itertools.chain.from_iterable([dict1.items(),dict2.items(),dict3.items())