在pandas 0.16中,DataFrame.to_html()方法可以做很多事情,但是目前还没有文档化的方法来向呈现的dataframe添加id。在
可以在DataFrame上设置一个类,如下所示:df = pd.DataFrame({'foo':[1,2,3,4]})
df.to_html(classes='mytable')
结果:
^{pr2}$
但这和熊猫的原生功能一样好。在
如果您真的需要使用cssid选项,可以用两种方法来解决它。在
适当但缓慢的解决办法
正确的方法是使用xml解析库解析html并自己添加id。在
像这样:from xml.etree import ElementTree as et
t = et.fromstring(df.to_html())
t.set('id', 'mytable')
et.tostring(t)
结果:
...
附录:
除了xml库,还有其他库,例如,您可以使用beauthoulsoup来更改html。beauthoulsoup库有更多闪亮的特性,让你做更复杂的事情,而不仅仅是在桌面上设置和标识。在
老套但有执行力的解决方案
最糟糕的方法是用regexp替换字符串,如下所示:import re
re.sub(' mytable', '" id="mytable', df.to_html(classes='mytable'))
结果:
...