2010-07-14 6 views
0

Merci d'avance. En utilisant Excel dans l'onglet de données il y a une option de filtre. Je souhaite l'intégrer dans un programme sur lequel j'ai travaillé. Cela peut être aussi simple qu'une ligne. Si vous savez quelque chose ou si ce n'est pas possible dans cette version/langage de programmation s'il vous plaît faites le moi savoirUtilisation de Python version 2.6.4 comment programmer la fonction de filtre excelle

Merci! Pour plus d'informations: Je souhaite utiliser l'option de tri pour appliquer le filtre de sorte que lorsque le document Excel ouvert est ouvert, l'utilisateur n'a pas besoin de tout sélectionner, puis cliquez sur l'onglet Données et sélectionnez le filtre. Les données source ne font pas de différence.

+1

Vous devez fournir un peu plus de contexte. Quelles sont les données que vous souhaitez filtrer? Pouvez-vous fournir le code où vous souhaitez que le filtrage se produise, l'exemple d'entrée et une description de la sortie que vous souhaitez? – fmark

+0

Qu'est-ce que vous utilisez pour accéder au fichier Excel? win32 COM? –

Répondre

0

Il existe une fonction filter en Python, mais je ne connais pas trop le filtre dans Excel. Peut-être que c'est le même type de chose.

Vous pouvez filtrer les éléments d'une liste en fonction de leur conformité à certains critères. Par exemple:

def want(s): 
    return s in ('dog', 'cat', 'fish') # return true if the string is dog, cat or fish 

filter(want, ['dog', 'dog', 'zebra', 'zebrafish', 'fish', 'foo']) 
# Returns: ['dog', 'dog', 'fish'] 

filter prend dans une fonction qui retourne Vrai ou faux que le premier paramètre. Ensuite, il passe dans chaque élément de la liste pour le second paramètre. Si want ('dog') renvoie True, il le retournera dans l'ensemble résultant. Si c'est faux, ce ne sera pas le cas.

0

Compréhension de liste (ou expression de générateur).

data = ['dog', 'god', 'zebra', 'zebrafish', 'fish', 'foo'] 

result = [w for w in data if w.startswith('z')]