J'écris un script pour rechercher une base de données pour les filtres et comparer le résultat à un fichier xlsx qui me est donné. En raison du format du xlsx donné, ma liste de filtres contient parfois une sous-liste de chaînes et parfois une chaîne dans la même position. Quand je reçois des comparaisons réelles j'essaie de vérifier la longueur de la sous-liste pour exécuter des contrôles spécifiques aux sous-listes en utilisant ce codePython essayant d'obtenir la longueur de la sous-liste mais obtenir la longueur de la chaîne à l'occasion. Besoin d'un travail autour
if len(filters[x][1])>1:
la liste des filtres est construit en utilisant ce bloc de code
while(tpSheet.cell(i,0).value!=''):
filterNum = tpSheet.cell(i,0).value.split(':')
if tpSheet.cell(i,2).value.startswith('in'):
temp = tpSheet.cell(i,2).value[3:].replace(' ','').replace('in',',').split(',')
filters.append([filterNum[0],[tpSheet.cell(i,1).value,temp[1]],[temp[0],temp[2]]])
else:
filters.append([filterNum[0],[tpSheet.cell(i,1).value],tpSheet.cell(i,2).value])
i+=1
Je ne suis pas tout à fait sûr de savoir comment faire la différence entre les listes et les chaînes à cette fin
chercher comment vérifier le type d'un objet? Ce n'est pas si dur. – Prune
J'ai effectivement essayé isinstance quelques fois ainsi que le type, mais n'a eu aucune chance avec l'un ou l'autre mais plus d'expérimentation est probablement nécessaire – Eris
Encore mieux, postez votre tentative échouant comme [Exemple minimal, complet, vérifiable] (http: // stackoverflow. com/help/mcve). – Prune