web-dev-qa-db-ja.com

pandas

ここで助けが必要です。だから私はこのようなものを持っています

import pandas as pd
path = '/Users/arronteb/Desktop/Excel/ejemplo.xlsx'
xlsx = pd.ExcelFile(path)
df = pd.read_Excel(xlsx,'Sheet1')
df['is_duplicated'] = df.duplicated('#CSR')
df_nodup = df.loc[df['is_duplicated'] == False]
df_nodup.to_Excel('ejemplo.xlsx', encoding='utf-8')

したがって、基本的にこのプログラムはejemplo.xlsx(ejemploはスペイン語の例で、ファイルの名前のみ)をdf(a DataFrame)に変換し、特定の列の重複値をチェックします。重複を削除し、ファイルを再度保存します。その部分は正しく動作します。問題は、重複を削除するのではなく、それらを含むセルを黄色などの異なる色で強調表示する必要があることです。

強調表示を行う関数を作成できます...

def highlight_cells():
    # provide your criteria for highlighting the cells here
    return ['background-color: yellow']

次に、強調表示関数をデータフレームに適用します...

df.style.apply(highlight_cells)
9
Harrison

同じ問題が発生し、今週解決しました。私の問題は、インクルードが適切に機能して、適切に機能していることがわかったオンラインコードを取得できないことでした。

フォントの色は変えずに背景の色を変えると仮定します。私が間違っている場合は、リクエストを明確にしてください。

私のソリューションは特定のライブラリに関連付けられています。 openpyxl

#### This import section is where my mistake was at
#### This works for me
import openpyxl    ### Excel files 
from openpyxl.styles import PatternFill, Border, Side, Alignment, Protection, Font
from openpyxl.styles import Fill, Color
from openpyxl.styles import Style
from openpyxl.styles.colors import RED
from openpyxl.styles.colors import GREEN


str_xls_PathFileCurrent = str_xls_FileName
### Opens Excel Document
var_xls_FileOpen    = openpyxl.load_workbook(str_xls_PathFileCurrent) 
### Opens up the Excel worksheet 
var_xls_TabName     = var_xls_FileOpen.worksheets[0]                  
### Put the spreadsheet tab names into an array 
ary_xls_SheetNames  = var_xls_FileOpen.get_sheet_names()              
### Open the sheet in the file you working on 
var_xls_TabSheet    = var_xls_FileOpen.get_sheet_by_name(ary_xls_SheetNames[0])
xls_cell = var_xls_TabSheet['d10']

#### Changes the cell background color 
xls_cell.style = Style(fill=PatternFill(patternType='solid'
    , fgColor=Color('C4C4C4')))  ### Changes background color 

#### Changes the fonts (does not use style) 
xls_cell.font = xls_cell.font.copy(color  = 'FFFF0000') ### Works (Changes to red font text) 
xls_cell.font = xls_cell.font.copy(bold  = True) ### Works (Changes to bold font) 
xls_cell.font = xls_cell.font.copy(italic= True) ### Works (Changes to Italic Text) 
xls_cell.font = xls_cell.font.copy(size  =   34) ### Works (Changes Size) 
1
M T Head