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

Pandas 1.0中无print()时to_markdown()无法正常格式化问题

Pandas 1.0中to_markdown()的换行显示问题

其实这个现象是完全正常的,咱们来拆解一下背后的逻辑:

  • df.to_markdown() 方法的设计初衷就是返回一个包含转义换行符\n的字符串,这些\n是用来标记表格各行的分隔位置的,但字符串本身不会自动解析这些转义符,所以直接调用的时候看到的就是带\n的原始字符串内容。
  • 而print()函数在输出字符串时,会自动把\n转换成实际的换行操作,这样就能把表格按行正确渲染显示出来了。

示例代码验证

import pandas as pd

# 创建测试用的DataFrame
df = pd.DataFrame({"A": [1, 2, 3], "B": [1, 2, 3]}, index=['a', 'a', 'b'])

# 使用print包裹,输出格式化后的表格
print(df.to_markdown())

输出结果:

| | A | B |
|:---|----:|----:|
| a | 1 | 1 |
| a | 2 | 2 |
| b | 3 | 3 |

如果直接调用df.to_markdown(),返回的是未解析换行符的原始字符串:

df.to_markdown()

返回内容:

'| | A | B |\n|:---|----:|----:|\n| a | 1 | 1 |\n| a | 2 | 2 |\n| b | 3 | 3 |'

实用小提示

如果需要把表格内容保存到文件或者用于其他文本场景,直接用df.to_markdown()的返回值即可,写入文件时换行符会被自动解析;要是只是想在控制台直观查看格式化后的表格,用print()包裹就搞定啦。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.06 12:42:42