python3使用三个列表打印表

2024-04-29 02:43:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python还很陌生,现在正努力将数据格式化为打印输出。在

我有三个清单:

list1 = [a, b, c, a, b, c, a,  b, c]
list2 = [day1, day2, day3]
list3 = [1, 2, 3, 4, 5, 6, 7, 8, 9]

现在,我想用一个表格格式来表示,如下所示:

^{pr2}$

我已经厌倦了像texttable这样的不同模块,还尝试使用循环组合。但我还是抓不到正确的组合。在


Tags: 模块格式表格数据格式list2打印输出list1texttable
2条回答

Astropy有一个很好的asciitables库,似乎可以解决这个问题。在

http://docs.astropy.org/en/latest/io/ascii/index.html

python tablate似乎也试图解决这个问题:

https://bitbucket.org/astanin/python-tabulate

但据我所知,Pandas是默认的python表格数据库。看看你的桌子在一个Jupyter笔记本里有多漂亮!在

enter image description here

要从列表中生成数据帧,只需在安装pandas的情况下执行以下操作:

import pandas a pd
list1 = [a, b, c, a, b, c, a,  b, c]
list2 = [day1, day2, day3]
list3 = [1, 2, 3, 4, 5, 6, 7, 8, 9]

df = pd.DataFrame({
    "list1": list1,
    "list2": list2,
    "list3": list3,
})

我以前用过这个表来完成这个任务是很有效率的。 PrettyTable link

更新:

有关更多详细信息,请参见此stackoverflow问题-How to use PrettyTable

示例代码(copied from the following link)试图展示它的功能(尽管它使用了一个从PrettyTable派生的包,但我相信用法是相同的)。在

#!/usr/bin/python3

from prettytable import PrettyTable

x = PrettyTable()

x.field_names = ["City name", "Area", "Population", "Annual Rainfall"]

x.add_row(["Adelaide", 1295, 1158259, 600.5])
x.add_row(["Brisbane", 5905, 1857594, 1146.4])
x.add_row(["Darwin", 112, 120900, 1714.7])
x.add_row(["Hobart", 1357, 205556, 619.5])
x.add_row(["Sydney", 2058, 4336374, 1214.8])
x.add_row(["Melbourne", 1566, 3806092, 646.9])
x.add_row(["Perth", 5386, 1554769, 869.4])

print(x)

这是一个非常简单的答案。不过,它确实显示了设置和使用它是多么容易。在

谢谢。在

相关问题 更多 >