pandas dataFramesとdataTablesを使いたいです。私はIDなしでテーブルを初期化する方法を理解できません。JS dataTables from pandas
df.to_html()を呼び出すときに、テーブルタグにidを設定する方法はありますか?
pandas dataFramesとdataTablesを使いたいです。私はIDなしでテーブルを初期化する方法を理解できません。JS dataTables from pandas
df.to_html()を呼び出すときに、テーブルタグにidを設定する方法はありますか?
あなたはこれを試みることができる:
df.to_html(classes = 'my_class" id = "my_id')
それは基本的にSQLインジェクションのようなものです。
パンダのto_html関数は、クラスの前後に二重引用符を使用します。一重引用符を使用してclasses引数を定義し、二重引用符を入れてpandasのクラスを終了することができます。あなたのID名の前後に二重引用符を入れてください。ただし、pandasが二重引用符を閉じます。出力は次のようになります。
'<table border="1" class="dataframe my_class" id = "my_id">...'
希望するものがあります。
私はこの動作がto_html
で利用可能であるとは思いませんが、一つの方法は、単に手動でそれを挿入することです:
In [11]: df = pd.DataFrame([1])
In [12]: s = df.to_html()
In [13]: print (s[:7] + 'id="my_dfs_id" ' + s[7:])
<table id="my_df_id" border="1" class="dataframe">
<thead>
<tr style="text-align: right;">
<th></th>
<th>0</th>
</tr>
</thead>
<tbody>
<tr>
<td><strong>0</strong></td>
<td> 1</td>
</tr>
</tbody>
</table>
あなたは関数にこの動作を入れることができます:
def df_to_html_with_id(df, id):
s = df.to_html()
return s[:7] + 'id="%s" ' % id + s[7:]
使用例:df_to_html_with_id(df, "hello")
。
受け入れられた答えは驚くほどうまくいきますが、ここではidといくつかのクラスをテーブルの見出しに適用しました。
html = df.to_html().replace('<table','<table class="tableBoot" id="myTable"')
to_htmlは単なる文字列を返し、私たちは何か(私は唯一の開口部「<」を使用していることに注意してください)とのいずれかの部品を交換するために、文字列オブジェクトのメソッドを置き換えるのpythonを使用することができますので、これは動作します。私は<thead>
へのスタイルを含めるためにこれを使用しました。テーブルの見出しセクション!
私はsligthly異なるアプローチをとり、すべてのパンダテーブルがDataTablesになったという利点を持つCSSクラスによって初期化することに決めました。さまざまなオプションでより洗練されたコントロールをしたい場合は、別のクラスを追加できます
$(document).ready(function(){
$('.dataframe').DataTable();
});
これはIDを必要とせず、pd.DataFrame.to_htmlがデータフレームオブジェクトであることを何とか知っているということですか? – tsando
@tsando:まさにそれ!多少の欠点は、あなたのページに[classes paramater](http://pandas.pydata.org/pandas-docs/stable/generated/pandas)で制御できるテーブルがたくさんある場合には、別の設定が必要になることです。 DataFrame.to_html.html) – citynorman
これは美しいハックです! – Private
私のクラスは何を指していますか?または私の身分証明書?私は残念なことにHTMLやCSSを知らない。私はWin32comを使ってOutlookの電子メールに何かを出力しようとしていましたが、適用する書式を取得できません。私はカスタムクラスを作成する方法を知らないし、これらのスタイルはOutlookに正しく作成されていないようです。 ( .style .format(パーセント)color_negative_red .applymap(サブセット= [ 'CSAT'、 'FCR']) .set_properties(** { 'フォントサイズ' DF '9PT'、「フォント(例:total_hits '、' survey_count '、color =' lightblue ')) – trench
HTML/CSSの基本的な知識が必要です。 "class"と "id"は意味する。基本的に、クラスとIDは、htmlの特定の部分にのみCSSの書式を適用する便利な方法です。クラスに関する情報を参照してくださいhttp://www.w3schools.com/cssref/sel_class.aspクラスとIDの違いについてはこちらをご覧くださいhttp://stackoverflow.com/questions/12889362/difference-between-id-and- class-in-css-when-use- –