🫶
[Python]DuckDBのshow()関数で20行以上表示する
結論:.show(max_rows=int)
を使う
PythonでDuckDBを使っている際、show()
だとデフォルトで20行までしか表示されませんが、もう少しだけ表示したい時のTipsです
import duckdb
import pandas as pd
# aというKeyに、0〜99のValueを持つDataFrame
my_data_df = pd.DataFrame(
[{'a': i} for i in range(100)]
)
# ↓これだと20行しか表示されない
duckdb.sql("select * from my_data_df").show()
こうする
import duckdb
import pandas as pd
my_data_df = pd.DataFrame(
[{'a': i} for i in range(100)]
)
# ↓これなら50行表示してくれる
duckdb.sql("select * from my_data_df").show(max_rows=50)
max_width
とかmax_col_width
もあるっぽいですね
他にも
Result Conversion系の関数を使って、変換したあとに表示する手もあります
例えばDataFrameに直してからprint()
するなどです
が、とりあえず見たいだけならmax_rows
が良いかなと思います
↓公式にあるResult Conversion系の関数
import duckdb
duckdb.sql("SELECT 42").fetchall() # Python objects
duckdb.sql("SELECT 42").df() # Pandas DataFrame
duckdb.sql("SELECT 42").pl() # Polars DataFrame
duckdb.sql("SELECT 42").arrow() # Arrow Table
duckdb.sql("SELECT 42").fetchnumpy() # NumPy Arrays
Discussion