識別子データに基づいて、同じ行のすべてのセルに同じ背景色を適用しようとしています。
例:
行全体を同じ色にするにはどうすればよいですか?現時点では日付列のみに色が付いています。
私は df.to_html() を使用してから sed を使用しています。
sed -i 's@<td>2020-08-31<\/td>@<td bgcolor="grey">2020-08-31<\/td>@g' <file>
sed -i 's@<td>2020-09-01<\/td>@<td bgcolor="#F49884">2020-09-01<\/td>@g' <file>
sed/awk または Python を使用することに抵抗はありません。
ここではテーブルの表示方法を定義しています。これに CSS が使用されます。デフォルトでは、pandas によって生成された html テーブルには、CSS sel で使用できるクラス データフレームが割り当てられます。ector (必要に応じて to_html() パラメータを使用してインスタンスをさらにカスタマイズできます)。 HTML ページにインラインまたは外部の CSS セクションを追加できる場合 (table.dataframe td {background-color: red } のようなルールを使用)、マークアップを変更する代わりに追加することをお勧めします (特にツールは HTML の複雑な構造を解析するように設計されていません)。
– luciole75w
2020 年 9 月 4 日 23:38
------------------------
Python では .replace() を使用してこれを行うことができます。
Pandas to_html() は、データフレームを表す HTML 文字列を返すだけです。その後、結果の文字列に対して任意の Python 文字列操作を使用できます。
たとえば:
def add_bg_color(html, identifier):
return html.replace(
f"<td>{identifier}<\/td>",
f"<td background-color='grey'>{identifier}<\/td>"
)
次のように使用します:
html = df.to_html()
add_bg_color(html, '2020-08-31')
また、bgcolor を適切な CSS プロパティ名である background-color に変更したことに注意してください。