📜  python print 2d array as table - Python(1)

📅  最后修改于: 2023-12-03 15:34:03.694000             🧑  作者: Mango

Python: Print 2D Array as Table

有时候需要将Python的二维数组打印成表格形式,以便更好地展现数据,本文将介绍如何实现这一功能。

方法一:使用Python内置的tabulate库

tabulate是一个Python库,可以将数据格式化成表格形式,使用起来十分方便。下面是一个例子:

from tabulate import tabulate

data = [['Alice', 24, 'Female'],
        ['Bob', 19, 'Male'],
        ['Carol', 42, 'Female'],
        ['Dave', 31, 'Male']]

print(tabulate(data, headers=['Name', 'Age', 'Gender']))

输出:

Name     Age  Gender
------  ----  --------
Alice     24  Female
Bob       19  Male
Carol     42  Female
Dave      31  Male

使用tabulate需要先安装该库,可以使用以下命令进行安装:

pip install tabulate
方法二:使用Python的内置函数和循环语句

如果不想安装额外的库,也可以使用Python的内置函数和循环语句来打印表格。下面是一个例子:

data = [['Alice', 24, 'Female'],
        ['Bob', 19, 'Male'],
        ['Carol', 42, 'Female'],
        ['Dave', 31, 'Male']]

# 获取每一列的最大宽度
col_width = [max(len(str(row[i])) for row in data) for i in range(len(data[0]))]

# 打印表头
print('| ' + ' | '.join("{:{}}".format(headers[i], col_width[i]) for i in range(len(headers))) + ' |')

# 打印分隔线
print('-' * (sum(col_width) + len(col_width) * 3 - 1))

# 打印表格内容
for row in data:
    print('| ' + ' | '.join("{:{}}".format(row[i], col_width[i]) for i in range(len(row))) + ' |')

输出:

| Name   | Age | Gender |
------------------------
| Alice  |  24 | Female |
| Bob    |  19 | Male   |
| Carol  |  42 | Female |
| Dave   |  31 | Male   |
总结

以上介绍了两种Python中实现打印二维数组成表格的方法。如果不需要额外的库,可以使用第二种方法。如果需要更多的表格定制化选项,可以使用第一种方法。