私はまだ比較的新しいPythonですが、しばらくこのままで遊んでいて、周りを頭で囲むことはできません。openpyxl条件付き書式でプレースホルダを使用するにはどうすればよいですか?
Openpyxlを使用してスプレッドシートにデータを返すクエリがあり、そのスプレッドシートを条件付きでフォーマットしたいとします。正確な行数を入力するとできますが、行の数はクエリによって異なるため、行数を条件付きでしか取得できないため、プレースホルダが必要です下記をご覧ください。私は、行の数を返す変数num_of_rows
を使用します。私が言いたい:
ws.conditional_formatting.add(('H3:H%d', CellIsRule(operator='lessThan', formula=['10'],
stopIfTrue=True, fill=red_fill)) % (num_of_rows,))
をしかし、私はこのエラーを取得する:私は数に%
後num_of_rows
変数を変更
ws.conditional_formatting.add(('H3:H%d',
CellIsRule(operator='lessThan', formula=['10'], stopIfTrue=True,
fill=red_fill)) % (15,))
TypeError: unsupported operand type(s) for %: 'tuple' and 'tuple'
たとしても、それは同じエラーを返し、15
を言います。ここでプレースホルダを使用するにはどうすればよいですか?
D'oh!私がそれを投稿した直後にそれを分かりました、そして、それは私がそれを働かせるためにしたものです。本当にありがとう! – Emac
FWIW '.format()'メソッドの文字列の使用は、 'printf'の書式よりも優先されます。 –