You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在DuckDB Python API中显示数据表的所有列?

解决DuckDB Python API显示全部列的问题

目前DuckDB的show()方法确实没有直接控制最大列数的参数,但可以通过以下几种方式实现显示所有列,避免输出被截断:

方法1:修改DuckDB全局配置参数

通过执行SQL命令调整DuckDB的显示配置,设置无限制列数和足够宽的输出宽度:

import duckdb

# 创建数据库连接
con = duckdb.connect()

# 设置显示所有列,-1代表无限制
con.execute("SET max_columns = -1")
# 设置足够大的宽度避免列内容被截断
con.execute("SET max_width = 10000")

# 之后调用show()或直接打印Relation即可显示全列
rel = con.sql("SELECT * FROM your_table")
rel.show()

方法2:转换为Pandas DataFrame显示

利用你熟悉的Pandas显示配置,将DuckDB Relation转换为DataFrame后输出:

import duckdb
import pandas as pd

# 配置Pandas显示所有列和足够宽度
pd.set_option("display.max_columns", None)
pd.set_option("display.width", 10000)

con = duckdb.connect()
rel = con.sql("SELECT * FROM your_table")
# 转换为DataFrame并打印
print(rel.to_df())

方法3:直接打印Relation对象

设置好DuckDB的全局配置后,直接打印Relation对象也会遵循无截断的显示规则:

import duckdb

con = duckdb.connect()
con.execute("SET max_columns = -1")
con.execute("SET max_width = 10000")

rel = con.sql("SELECT * FROM your_table")
print(rel)

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.14 01:12:31