帮我写一个可以在终端打印表格的脚本
时间: 2023-03-09 07:00:34 浏览: 123
我可以给你写一段脚本,它可以在终端中打印表格:#!/usr/bin/env python# 需要调用的模块
import sys
from texttable import Texttable# 定义表格
t = Texttable()# 添加表格中的内容
t.add_rows([['Name', 'Age'], ['Alice', '20'], ['Bob', '25']])# 打印表格
print (t.draw())
相关问题
帮我写一个可以在终端打印表格的shell脚本接口
我可以给你一个简单的示例,你可以用它来在终端打印表格:#!/bin/bash# 表格标题
echo "Name Age Gender"# 第一行内容
echo -e "John\t20\tMale"# 第二行内容
echo -e "Lisa\t18\tFemale"
帮我写一个可以在shell终端打印表格的脚本接口
### 回答1:
可以尝试使用Python的tabulate库,它可以轻松地在shell终端中打印出表格。它可以容易地处理数据,以便在终端中打印出格式良好的表格。您可以使用下面的代码来实现:from tabulate import tabulate
table = [["Apples", "Oranges", "Bananas"],
["Alice", 24, "Bob", 19],
["Carol", 30, "Dave", 31]]
print(tabulate(table))
### 回答2:
可以使用Python编写一个脚本来在shell终端打印表格的脚本接口。
下面是一个示例脚本,可以在终端打印一个简单的表格:
```python
def print_table(data):
# 计算每列的最大宽度
col_widths = [max(len(str(value)) for value in column) for column in zip(*data)]
# 打印表头
print_row(data[0], col_widths)
# 打印分隔线
print_separator(col_widths)
# 打印数据行
for row in data[1:]:
print_row(row, col_widths)
def print_row(row, col_widths):
# 打印每个单元格,并根据最大宽度调整对齐方式
for value, width in zip(row, col_widths):
print(str(value).ljust(width), end='|')
print()
def print_separator(col_widths):
# 打印表格分隔线
for width in col_widths:
print('-' * width, end='+')
print()
# 测试数据
data = [
['Name', 'Age', 'City'],
['John', 25, 'New York'],
['Emily', 30, 'Los Angeles'],
['Michael', 35, 'Chicago'],
]
# 打印表格
print_table(data)
```
这个脚本接受一个二维的数据列表作为输入,在终端打印出相应的表格。表格中的每个单元格会根据数据调整对齐方式,保证以最佳的方式展示表格内容。上述示例中的数据是一个包含姓名、年龄和城市的简单表格,你可以根据自己的需求修改数据内容。
### 回答3:
这是一个简单的Python脚本,可以在shell终端打印表格。
```python
def print_table(data):
col_width = [max(len(str(x)) for x in col) for col in zip(*data)]
for row in data:
print(" | ".join("{:{}}".format(x, col_width[i]) for i, x in enumerate(row)))
# 示例数据
table_data = [
["姓名", "年龄", "性别"],
["张三", 18, "男"],
["李四", 20, "女"],
["王五", 22, "男"]
]
# 调用打印表格函数
print_table(table_data)
```
使用这个脚本,你可以将表格数据存储在一个二维列表中,然后调用`print_table`函数来打印表格。表格的列宽会根据数据内容自动调整,并且每一列的数据会居中对齐。
以上脚本的输出结果将如下所示:
```
姓名 | 年龄 | 性别
张三 | 18 | 男
李四 | 20 | 女
王五 | 22 | 男
```
你可以根据需要修改`table_data`的内容和格式来打印不同的表格。
阅读全文