如何使用tablatepython包在终端中显示漂亮的表?

如何使用tablatepython包在终端中显示漂亮的表?,python,dataframe,terminal,argparse,tabulate,Python,Dataframe,Terminal,Argparse,Tabulate,我有一个简单的CLI应用程序,用python编写,带有argparse模块。基本上,我使用外部api获取一些加密货币数据,我将其转换为pandas dataframe并使用制表模块打印。但我在终端中打印表格时遇到了问题。当我这样做的时候,一切都出了问题,表格没有保持正确的结构,最终看起来就像屏幕上的belowe 下面是用表格打印熊猫数据框的代码段 # file: example.py import requests from tabulate import tabulate def get

我有一个简单的CLI应用程序,用python编写,带有argparse模块。基本上,我使用外部api获取一些加密货币数据,我将其转换为pandas dataframe并使用制表模块打印。但我在终端中打印表格时遇到了问题。当我这样做的时候,一切都出了问题,表格没有保持正确的结构,最终看起来就像屏幕上的belowe

下面是用表格打印熊猫数据框的代码段

# file: example.py
import requests
from tabulate import tabulate


def get_recommendations():
    url = "https://min-api.cryptocompare.com/data/recommended/all"
    req = requests.get(url, params={'fsym' : 'BTC' ,"tsym": 'USD'})
    return pd.DataFrame(req.json()['Data']['exchanges']).T


df = get_recommendations()

print(
    tabulate(
        df,
        headers=df.columns,
        floatfmt=".5f",
        showindex=True,
        tablefmt="psql",
    )
)

如果你在终点站跑步
python example.py
您将在终端中看到混乱,就像代码片段上方的屏幕截图一样

我能告诉你如何修复它,并在我的终端中显示格式良好的表格吗?

看起来该表比终端宽,您是否有一个示例数据片段使其成为一个?试试看,这是一个轻量级的Python 3包,用于在命令上漂亮地打印表line@Alex我添加了完整的示例。希望这足以重新创建。@Pluviophile我将尝试使用此软件包,但我认为也许可以通过某种方式为terminal添加一些约束,使其以正确的形式显示所有内容,即使表的大小大于terminal窗口的大小。