着色细胞擅长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 (以西class牙语为例,只是文件的名称)加载到dfDataFrame )中,然后检查特定列中的重复值。 它删除重复项并再次保存文件。 该部分正常工作。 问题是,而不是删除重复,我需要突出显示包含他们的不同颜色的单元格,如黄色。

你可以创build一个函数来突出显示…

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

然后将突出显示function应用到您的数据框中

 df.style.apply(highlight_cells) 

我刚刚遇到了同样的问题,本周我就解决了这个问题。 我的问题是没有让包括正常工作,以获得在线代码,我发现正常工作。

我将假设你的意思是改变背景颜色不改变字体颜色。 如果我错了,请澄清你的要求。

我的解决scheme是绑定到一个特定的库。 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)