Supprimer la colonne de fichier xls
À l'aide de Python, j'ai besoin d'être en mesure d'effectuer les opérations suivantes à un classeur excel 2007:
1.supprimer des colonnes
Je suis à la recherche dans xlrd; cependant.
Quelqu'un peut-il me dire comment pouvait-elle faire cela?
Vous devez vous connecter pour publier un commentaire.
Si vous travaillez en Python 3.x, vous allez trouver beaucoup de mal à l'aide de la
xlrd
/xlwt
/xlutils
de la famille, car ils sont des modules de Python 2.Vous pourriez envisager de openpyxl pour travailler avec Excel 2007 .fichiers xlsx en Python 3.
Si vous avez juste besoin de changement de valeurs (en faisant abstraction de formatage, etc) voici une façon de le faire. Vous pouvez construire sur cette:
UnboundLocalError: local variable 'c' referenced before assignment
.Cela supprime une colonne à partir d'un xlsx feuille de calcul à l'aide de openpyxl 2.3.3. Vous pouvez spécifier un numéro de colonne ou de la lettre:
Sur sa dernière itération de cette exemplaires
None
valeurs de la colonnews.max_column+1
à la colonnews.max_column
, en essuyant les valeurs que l'habitude d'être là. Alors que les valeurs dans les cellules sont corrects, malheureusementws.max_column
n'a pas de décrémentation.Dans d'autres réponses, sans parler de l'utilisation de
Worksheet.garbage_collect()
pour réinitialiserws.max_column
, mais je n'ai pu trouver la méthode privéeWorksheet._garbage_collect()
, je n'ai donc pas l'utiliser.Mise à JOUR:
En fin de compte j'ai trouvé que la suppression d'un grand nombre de colonnes a été inefficace. Cacher est une solution supérieure. Cela préserve la mise en forme et plus important encore, maintient l'intégrité des formules qui font référence à des cellules masquées: