熊猫如何获得onclick值

时间:2020-04-21 18:05:37

标签: python-3.x pandas onclick

我期待根据每一列中的值找出column header sorted out,因为在下面的数据框中,我有三列datesleep和{ {1}}因此,如果我想单击任何列,它们应该能够对值进行排序,首先将较高的值翻转,然后将其逐渐减小。

假设我有calories列,如果现在单击它,它应该翻转值,date会排在最前面。

下面是一个示例DF:

2016-04-02

我想将其保存为html形式,该形式可能具有如上所述的排序功能,同时将其保存为 date sleep calories 0 2016-04-01 11.2 2740 1 2016-04-02 7.3 3600 之类的html时是否可能。

我已经搜索过它,但是没有得到任何结论性的答案,可能是由于我缺乏df.to_html('file.html')知识,只是学习而已。

非常感谢。

1 个答案:

答案 0 :(得分:1)

假设您上面的datafarame存储在df中。然后,按照以下步骤创建一个html文件并将其保存在本地。

df =  df.to_html(escape=False)

    df=df.replace('<th>','<th class = "th-sm" style="text-align: left">').replace('border="1"','id="example"').replace('class="dataframe"','class="display"')
    msgxx ='''
    <script type="text/javascript" src="https://code.jquery.com/jquery-3.3.1.js"></script>
<script type="text/javascript" src="https://cdn.datatables.net/1.10.20/js/jquery.dataTables.min.js"></script>
<link rel="stylesheet" type="text/css" href="https://cdn.datatables.net/1.10.20/css/jquery.dataTables.min.css"/>
 <script>
$(document).ready(function() {
    $('#example').DataTable( {
        "order": [[ 1, "asc" ]]
    } );
} );</script>
'''
    df = msgxx + df
    df=df.replace('<th>','<th class = "th-sm"')
    filename = 'abc.html'
    f= open(filename, 'w+')
    f.write(df)
    f.close()