2017-04-24 1 views
0

J'ai un fichier .xlsx qui a 3 colonnes.Obtenir le compte d'une couleur dans les cellules de mon fichier xlsx python

id name age 
1 jon 10  #jon cell is red 
2 bob 54  #bob cell is red 
3 rob 77 
4 sal 22  #sal cell is red 
5 wil 47 
6 nia 32 

dans mes cellules, column 'name' jon ,bob, sal cell are red colored reste de la colonne « nom » sont de couleur verte. Je veux trouver le nombre de red colored cells dans ce cas 3.

Ceci est juste un exemple, j'ai des fichiers .xlsx qui ont plus de 1000 lignes et il serait très difficile de compter manuellement les cellules de couleur rouge.

Je l'ai essayé en utilisant openpyxl et xlrd mais could'nt trouver beaucoup

toutes les pistes seraient appréciés, merci à l'avance

Répondre

0

J'ai eu un regard Here

D'abord, nous devons charger le classeur puis travailler avec une feuille sélectionnée à partir de ce classeur, pour ce que nous faisons ce qui suit:

import openpyxl as px 

#Loading the workbook into python 
wb = px.load_workbook('FileName.xlsx') 

#Selecting Active Sheet 
sheet = wb.get_sheet_by_name('Sheet1') 

La deuxième réponse (dans le lien) était très utile - on peut saisir le code HEX de la couleur de la cellule en se référant à la couleur index procédant comme suit:

i = sheet['A1'].fill.start_color.index #Grabbing colour at [A1] 
index_colours = px.styles.colors.COLOR_INDEX 
result = str(index_colours [i]) 

result= "#"+result[2:] 

print result 
#>>>#HEXCODE 

vous pouvez utiliser et ajouter tous les codes à une liste après avoir lu le fichier Excel, par exemple :

colour_list = [] 
index_colours = px.styles.colors.COLOR_INDEX 
for row in range(1,all_rows): 

    i = sheet['B' + str(row)].fill.start_color.index 
    result = str(index_colours [i]) 
    result= "#"+result[2:] 
    colour_list.append(result) 

et compter les codes hexadécimaux se référant à Red

red = '#FF0000' 
print colour_list.count(red) 
#>>> 3 
+0

comment vous chargez le fichier xlsx? dans quelle variable, comment définissez-vous 'i'? – Shubham

+0

feuille ['A1'] ?? Mon nom de feuille est sheet1 – Shubham

+0

Vraiment vous devriez montrer une tentative de répondre à votre propre question car ce n'est pas un service d'écriture de code. Pour apprendre à intégrer Excel et python, je suggère de regarder [ici] (https://automatetheboringstuff.com/chapter12/) – GiantsLoveDeathMetal