如何清晰规整查看PySpark DataFrame的列名与数据?
解决Spark DataFrame多列显示混乱/截断的办法
针对你用df.show()查看15列左右的DataFrame时出现的对齐混乱、内容截断问题,给你几个实用方案:
垂直显示每行数据
给show()加vertical=True参数,把每一行的列名和值逐行垂直展示,彻底解决列挤在一起的问题:df.show(n=2, truncate=0, vertical=True)这种方式下每列单独占一行,不会出现列名重叠、内容截断的情况,适合列数多的场景。
转成Pandas DataFrame显示
如果是在Jupyter Notebook这类交互式环境里,直接转成Pandas后用display(),会生成自适应的可滚动表格,对齐和可读性拉满:display(df.limit(2).toPandas())如果是本地脚本运行,用
to_string()自定义列宽:print(df.limit(2).toPandas().to_string(max_colwidth=50))把
max_colwidth设成你需要的宽度,避免内容截断。调整Spark控制台输出配置
提前设置Spark的全局配置,让自动预览更适配多列场景:spark.conf.set("spark.sql.repl.eagerEval.maxNumRows", 2) # 默认显示行数 spark.conf.set("spark.sql.repl.eagerEval.truncate", 0) # 不截断内容设置后直接输入
df就能自动显示,同时记得把终端/IDE的输出面板拉宽,让列有足够的展示空间。导出到文件查看
把少量数据导出成CSV,用表格工具打开查看,完全不用担心对齐和截断:df.limit(2).write.mode("overwrite").csv("/tmp/temp_df.csv", header=True)导出后打开CSV文件,所有列都会整齐排列,还能自由调整列宽。
内容的提问来源于stack exchange,提问作者Xi12
相关产品推荐
相关产品推荐

