我期待根据每一列中的值找出column header sorted out
,因为在下面的数据框中,我有三列date
,sleep
和{ {1}}因此,如果我想单击任何列,它们应该能够对值进行排序,首先将较高的值翻转,然后将其逐渐减小。
假设我有calories
列,如果现在单击它,它应该翻转值,date
会排在最前面。
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')
知识,只是学习而已。
非常感谢。
答案 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()