Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何为Dataframe定义html id_Python_Html_Pandas_Datatables - Fatal编程技术网

Python 如何为Dataframe定义html id

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数据帧定义一个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      <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中的新功能。