如何在VSCode中通过pandas的print()完整显示DataFrame所有行列
VS Code 下 Pandas 输出 DataFrame 列折行问题解决方法
问题本质
显示差异来自渲染逻辑的区别:在交互式窗口直接调用df.head()时,pandas走HTML自适应渲染流程,会自动适配窗口宽度并排展示所有列;而使用print(df)时,走纯文本控制台渲染逻辑,受pandas内置显示阈值、终端宽度限制约束,默认参数下很容易出现多列无故折行的问题。
可操作配置方案
1. 临时生效配置(写入代码开头即可)
在导入pandas之后添加以下参数调整,即可让当前运行的脚本实现print输出全列并排展示:
- 关闭最大列数限制,禁止pandas自动折叠中间列:
pd.set_option('display.max_columns', None) - 关闭宽表自动折行开关:
pd.set_option('display.expand_frame_repr', False) - 关闭硬编码宽度限制,让pandas自动匹配终端实际宽度:
pd.set_option('display.width', None) - 可选:关闭单元格内容宽度限制,避免长文本内容挤压列宽造成换行:
pd.set_option('display.max_colwidth', None)
补充:如果自动适配宽度出现异常,可以手动指定和终端宽度匹配的数值,比如
pd.set_option('display.width', 240)
2. 全局永久配置(一劳永逸)
不想每次写脚本都重复加上述配置,可以设置pandas启动自动加载规则:
- 打开用户目录下的
.pandas文件夹(不存在则手动新建) - 在文件夹内新建名为
pandas_startup.py的文件 - 把上述所有配置代码写入文件保存,之后所有Python脚本导入pandas时都会自动应用这套显示规则
3. VS Code 终端侧调整
完成pandas参数调整后如果依然存在折行,需要排查终端本身的设置:
- 拉宽VS Code集成终端的面板宽度,预留足够的横向展示空间
- 点击终端面板右上角的更多菜单,关闭
Toggle Word Wrap选项,禁止终端对超长行强制折行
内容的提问来源于stack exchange,提问作者Mihai Stoica
相关产品推荐
相关产品推荐

