从Jupyter复制表格到StackOverflow格式错乱如何解决?
解决Pandas输出表格复制到StackOverflow格式错乱问题
先看你的原始Pandas代码:
df = pd.DataFrame({ "name":["john","jim","eric","jim","john","jim","jim","eric","eric","john"], "category":["a","b","c","b","a","b","c","c","a","c"], "amount":[100,200,13,23,40,2,43,92,83,1] }) df
直接复制控制台输出到StackOverflow会出现格式混乱:
name category amount sum count 0 john a 100 140 2 1 jim b 200 225 3 2 eric c 13 105 2 3 jim b 23 225 3 4 john a 40 140 2 5 jim b 2 225 3 6 jim c 43 43 1 7 eric c 92 105 2 8 eric a 83 83 1 9 john c 1 1 1
有两种简单解决办法:
方法1:用Pandas内置方法生成标准Markdown表格
Pandas的to_markdown()方法可以直接输出符合Markdown规范的表格,在代码里执行:
print(df.to_markdown())
执行后会输出以下格式内容,直接复制到StackOverflow即可正常显示:
| | name | category | amount | sum | count | |---:|:-------|:-----------|---------:|------:|--------:| | 0 | john | a | 100 | 140 | 2 | | 1 | jim | b | 200 | 225 | 3 | | 2 | eric | c | 13 | 105 | 2 | | 3 | jim | b | 23 | 225 | 3 | | 4 | john | a | 40 | 140 | 2 | | 5 | jim | b | 2 | 225 | 3 | | 6 | jim | c | 43 | 43 | 1 | | 7 | eric | c | 92 | 105 | 2 | | 8 | eric | a | 83 | 83 | 1 | | 9 | john | c | 1 | 1 | 1 |
方法2:手动整理成Markdown表格格式
如果不想修改代码,也可以手动把混乱表格改成StackOverflow支持的格式:用竖线分隔每一列,表头和内容行对齐,示例如下:
| 序号 | name | category | amount | sum | count |
|---|---|---|---|---|---|
| 0 | john | a | 100 | 140 | 2 |
| 1 | jim | b | 200 | 225 | 3 |
| 2 | eric | c | 13 | 105 | 2 |
| 3 | jim | b | 23 | 225 | 3 |
| 4 | john | a | 40 | 140 | 2 |
| 5 | jim | b | 2 | 225 | 3 |
| 6 | jim | c | 43 | 43 | 1 |
| 7 | eric | c | 92 | 105 | 2 |
| 8 | eric | a | 83 | 83 | 1 |
| 9 | john | c | 1 | 1 | 1 |
这样复制到StackOverflow就能正常渲染成整齐的表格。
内容的提问来源于stack exchange,提问作者PaulS
相关产品推荐
相关产品推荐

