2016-09-02 3 views
1

私はここで助けが必要です。だから私はこの細胞を色付けしてパンダでエクセル化する

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に(DataFrame)をロードする必要があり、その後、特定の列に重複値をチェックします。重複を削除し、ファイルを再度保存します。その部分は正しく動作します。問題は、重複を削除する代わりに、黄色のような異なる色でそれらを含むセルを強調表示する必要があるということです。

答えて

3

あなたは...

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

を強調表示を行うための関数を作成することができます。そして、あなたのハイライト機能は、あなたのデータフレームに適用されます...

df.style.apply(highlight_cells) 
+0

ありがとう、私はこの方法で試してみます –

+0

@CarlosArronteBello運がいいですか? – Harrison

+0

はい私はそれを得た。ありがとう兄貴!!!! –

1

私はこの同じ問題とIを持っていました今週それを解決しました。私の問題は、正常に動作していることが判明したオンラインコードを取得するためにインクルードを正しく動作させることができませんでした。

私は、背景色を変更することは、フォントの色を変更しないことを意味すると仮定します。私が間違っている場合は、あなたの要求を明確にしてください。

私の解決策は特定のライブラリに関連付けられています。 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) 
+0

に記載されているバージョン0.17.1以降でのみ可能です。背景色は右です。あなたのコードの一部で試してみます。ありがとう –

関連する問題