Python 如何为Dataframe定义html id
我想为Pandas数据帧定义一个css id,以便使用javascript数据表进行呈现。可能吗 为此:Python 如何为Dataframe定义html id,python,html,pandas,datatables,Python,Html,Pandas,Datatables,我想为Pandas数据帧定义一个css id,以便使用javascript数据表进行呈现。可能吗 为此: pandas.DataFrame([[1, 2], [3, 4]]).to_html() 我明白了: '<table border="1" class="dataframe">\n <thead>\n <tr style="text-align: right;">\n <th></th>\n <t
pandas.DataFrame([[1, 2], [3, 4]]).to_html()
我明白了:
'<table border="1" class="dataframe">\n <thead>\n <tr style="text-align: right;">\n <th></th>\n <th>0</th>\n <th>1</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>1</td>\n <td>2</td>\n </tr>\n <tr>\n <th>1</th>\n <td>3</td>\n <td>4</td>\n </tr>\n </tbody>\n</table>'
使用pandas 0.16中的方法可以做很多事情,但是目前没有文档化的方法向呈现的数据帧添加id 您可以在数据帧上设置一个类,如下所示:
'<table border="1" id='mytable' class="dataframe">\n <thead>\n <tr style="text-align: right;">\n <th></th>\n <th>0</th>\n <th>1</th>\n </tr>\n </thead>\n <tbody>\n <tr>\n <th>0</th>\n <td>1</td>\n <td>2</td>\n </tr>\n <tr>\n <th>1</th>\n <td>3</td>\n <td>4</td>\n </tr>\n </tbody>\n</table>'
df = pd.DataFrame({'foo':[1,2,3,4]})
df.to_html(classes='mytable')
from xml.etree import ElementTree as et
t = et.fromstring(df.to_html())
t.set('id', 'mytable')
et.tostring(t)
import re
re.sub(' mytable', '" id="mytable', df.to_html(classes='mytable'))
结果:
<table border="1" class="dataframe mytable">
...
<table border="1" class="dataframe" id="mytable">
...
<table border="1" class="dataframe" id="mytable">
...
结果:
<table border="1" class="dataframe mytable">
...
<table border="1" class="dataframe" id="mytable">
...
<table border="1" class="dataframe" id="mytable">
...
结果:
<table border="1" class="dataframe mytable">
...
<table border="1" class="dataframe" id="mytable">
...
<table border="1" class="dataframe" id="mytable">
...
...
只需使用pandas.DataFrame([[1,2],[3,4]])即可。到html(table\u id='hello')
您将设置表id即hello来解决眼前的问题,只需从
dataframe
类加载dataTable,而不是mytable
id:$('.dataframe').dataTable()代码>。我采用了Marcos的方法,效果很好。如果您需要ID,请参阅,这并不提供问题的答案。若要评论或要求作者澄清,请在其帖子下方留下评论。-pandas.DataFrame([[1,2],[3,4]])。到_html(table_id='hello')
这将在html@Alex.K. 不清楚您为什么要这样加速:-滚动到表\u id
-这是一个有效的答案。@DurgeshKumar您可以通过提供指向所建议函数的文档的链接来增强您的答案:[doku for table\u id](https://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_html.html#pandas-dataframe to html)
-您可能还应该添加此功能,因为当此功能存在时-在pandas 0.16中,它还没有出现,因此您正在用新功能回答一个旧问题。这是版本0.23.0中的新功能。