Применить условное форматирование ячейки на лист Excel с помощью Python OpenPyxlPython

Программы на Python
Ответить Пред. темаСлед. тема
Anonymous
 Применить условное форматирование ячейки на лист Excel с помощью Python OpenPyxl

Сообщение Anonymous »

В рамках небольшого хобби -проекта я пытаюсь добавить некоторое форматирование в ячейки в рабочем листе Excel, прежде чем загружать его в Google Drive.from openpyxl import load_workbook
from openpyxl.styles import PatternFill
from openpyxl.styles.differential import DifferentialStyle
from openpyxl.formatting.rule import Rule
from openpyxl.cell.cell import Cell

# Load the Excel workbook
workbook = load_workbook('output.xlsx')

# Select the desired sheet by name or index
sheet = workbook['Sheet1'] # Replace 'Sheet1' with the actual sheet name

# Create the conditional formatting rules
rules = [
{
'value': 1,
'fill_color': '00000000' # Black
},
{
'value': 2,
'fill_color': 'FF808080' # Solid Grey
}
]

for rule in rules:
fill = PatternFill(start_color=rule['fill_color'], end_color=rule['fill_color'], fill_type='solid')

# Apply conditional formatting rule
for row in sheet.iter_rows(min_row=2, values_only=True): # Start from the second row assuming headers are in the first row
for cell in row:
if isinstance(cell, Cell) and cell.value == rule['value']:
cell.fill = fill

# Save the modified workbook with conditional formatting
workbook.save('output_formatted.xlsx')

< /code>
Код, кажется, работает, но output_formatted.xlsx, похоже, не имеет никакого форматирования. Вы знаете, как я ошибаюсь или вы можете предложить лучший способ решить это?| normalM | normalF | shinyM | shinyF | darkM | darkF | goldenM | goldenF |
|---------|---------|--------|--------|-------|-------|---------|---------|
| 0 | 0 | 1 | 0 | 1 | 0 | 1 | 0 |
| 0 | 0 | 0 | 0 | 0 | 0 | 1 | 0 |
| 1 | 0 | 0 | 1 | 1 | 0 | 0 | 0 |
| 0 | 0 | 1 | 1 | 1 | 1 | 1 | 1 |
| 1 | 0 | 1 | 1 | 1 | 0 | 1 | 0 |
| 1 | 2 | 0 | 2 | 1 | 2 | 1 | 2 |
| 1 | 2 | 0 | 2 | 1 | 2 | 1 | 2 |
| 1 | 1 | 1 | 1 | 0 | 1 | 1 | 1 |
| 0 | 0 | 0 | 0 | 0 | 0 | 0 | 0 |
| 0 | 0 | 1 | 0 | 0 | 0 | 1 | 1 |
| 0 | 1 | 0 | 0 | 1 | 0 | 0 | 1 |
< /code>
Любые слова мудрости высоко ценятся. Спасибо.
ps: я тоже знаю панды, если у вас есть какие -либо предложения, чтобы решить его, используя панды, я был бы рад попробовать их. < /p>

Подробнее здесь: https://stackoverflow.com/questions/762 ... n-openpyxl
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как скопировать условное форматирование отдельной ячейки с помощью openpyxl?
    Anonymous » » в форуме Python
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous
  • Как скопировать условное форматирование отдельной ячейки с помощью Openpyxl?
    Гость » » в форуме Python
    0 Ответы
    13 Просмотры
    Последнее сообщение Гость
  • Как применить условное форматирование в xlsxwriter в Python
    Anonymous » » в форуме Python
    0 Ответы
    18 Просмотры
    Последнее сообщение Anonymous
  • Как вставить формулу массива в лист Excel с помощью openpyxl?
    Anonymous » » в форуме Python
    0 Ответы
    15 Просмотры
    Последнее сообщение Anonymous
  • Почему эта ошибка отображается, хотя лист Excel имеет рабочий лист и не поврежден?
    Anonymous » » в форуме Python
    0 Ответы
    117 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Python»