使用to_html()展示DataFrame时出现未渲染XML格式问题求助
解决DataFrame通过
df.to_html()无法友好展示的问题 你遇到的问题很常见——用print(df.to_html())只会输出原始的HTML字符串,而不会让IPython把它渲染成美观的表格。这是因为print()只是单纯打印文本内容,没有触发IPython的HTML渲染机制。
这里有两种简单的解决方法:
方法一:用display(HTML())渲染HTML代码
你已经导入了display和HTML模块,只需要把print(df.to_html())替换成display(HTML(df.to_html()))就行。完整代码如下:
import pandas as pd # Friendly HTML Display from IPython.display import display, HTML sales = [ {'account': 'Jones LLC', 'Jan': 150, 'Feb': 200, 'Mar': 140}, {'account': 'Alpha Co', 'Jan': 200, 'Feb': 210, 'Mar': 215}, {'account': 'Blue Inc', 'Jan': 50, 'Feb': 90, 'Mar': 95 } ] df = pd.DataFrame(sales) # 用display+HTML渲染表格,而不是print display(HTML(df.to_html()))
这样IPython就会把生成的HTML代码渲染成带样式的表格,而不是输出一堆原始标签。
方法二:直接输出DataFrame(更简单)
在Jupyter Notebook/Lab或者IPython环境中,其实不需要手动调用to_html()——直接输入变量名df然后运行单元格,IPython会自动把DataFrame渲染成美观的交互式表格:
# 直接输出df即可 df
额外优化:给表格加样式
如果想让表格更好看,可以给to_html()加上classes参数,用Bootstrap的样式类(Jupyter默认支持Bootstrap):
display(HTML(df.to_html(classes='table table-striped table-hover')))
这样表格会有条纹、hover高亮效果,视觉体验更好。
内容的提问来源于stack exchange,提问作者Samir Alhejaj
相关产品推荐
相关产品推荐

