В рамках небольшого хобби -проекта я пытаюсь добавить некоторое форматирование в ячейки в рабочем листе 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
Применить условное форматирование ячейки на лист Excel с помощью Python OpenPyxl ⇐ Python
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Как скопировать условное форматирование отдельной ячейки с помощью openpyxl?
Anonymous » » в форуме Python - 0 Ответы
- 12 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Почему эта ошибка отображается, хотя лист Excel имеет рабочий лист и не поврежден?
Anonymous » » в форуме Python - 0 Ответы
- 117 Просмотры
-
Последнее сообщение Anonymous
-