You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Python脚本中如何打印DataFrame?Jupyter外无法显示求助

在普通Python脚本中查看Pandas DataFrame的方法

你遇到的问题很常见——display()是Jupyter Notebook专属的交互式显示函数,在普通Python脚本环境里它没法像在Notebook那样渲染出美观的表格。给你几个实用的替代方案:

1. 最基础的print()方法

直接用print()输出DataFrame,虽然格式不如Jupyter精致,但能快速查看数据:

import pandas as pd
def run_agg_query(db):
    df1 = pd.read_sql("select some query", conn)
    print(df1)

如果DataFrame太大导致输出被截断,可以先设置pandas的显示参数,强制显示全部行和列:

import pandas as pd
# 先设置显示选项,避免截断
pd.set_option('display.max_columns', None)  # 显示所有列
pd.set_option('display.max_rows', None)     # 显示所有行
pd.set_option('display.width', 1000)        # 调整显示宽度,避免换行

def run_agg_query(db):
    df1 = pd.read_sql("select some query", conn)
    print(df1)

2. 用to_string()自定义输出格式

如果你想更灵活控制显示细节,可以把DataFrame转成字符串后打印,比如指定列宽、是否显示索引等:

def run_agg_query(db):
    df1 = pd.read_sql("select some query", conn)
    print(df1.to_string(index=False, max_colwidth=50))  # 不显示索引,列宽设为50

3. 用第三方库输出美观表格

如果想要类似Jupyter的整洁表格,可以用tabulate库,先安装它:

pip install tabulate

然后在脚本里这样用:

import pandas as pd
from tabulate import tabulate

def run_agg_query(db):
    df1 = pd.read_sql("select some query", conn)
    print(tabulate(df1, headers='keys', tablefmt='grid'))  # grid格式的表格,清晰易读

4. 导出到文件查看(适合测试)

如果只是测试脚本的结果,也可以把DataFrame导出到CSV或者Excel文件,直接打开查看:

def run_agg_query(db):
    df1 = pd.read_sql("select some query", conn)
    df1.to_csv('test_result.csv', index=False)  # 导出到CSV,不包含索引
    # 或者导出到Excel
    # df1.to_excel('test_result.xlsx', index=False)

内容的提问来源于stack exchange,提问作者chowpay

火山引擎 最新活动