IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

Modifier fichier excel avec Python ligne qui s'efface [Python 3.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2021
    Messages : 5
    Par défaut Modifier fichier excel avec Python ligne qui s'efface
    Bonjour à tous !

    Voilà je fais un programme qui me permette d'automatiser la création d'un fichier excel. Voici le code (enfin une partie mais si vous avez besoin de tout le reste je ferais les modifications) :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    #___________________ECRITURE DEUXIEME ROW_____________________________
     
        description=['Contrat','N° Ticket', 'Demande', 'Temps passé','Comptabilité','Date fermeture ticket']
        cell_range=wsheet['A2:F2']#pourquoi dès que je l'enlève ça ne marche plus ?
     
        for col in wsheet.iter_cols(min_row=2, max_col=maxi_columns, min_col=1):               #maxi_columns=6
            for cell in col:
                cell.value=description[i]
                cell.style=my_style
                cell.alignment=center_alignement
                i+=1
        i=0
    Voilà ce que ça fait :
    A l'aide de openpyxl, inscrit "description" dans chaque cellule de la ligne 2 avec des effets de style type gras/bordures grasses (c'est le my_style) et alignement centré (center_alignement).

    Pour ceux qui se demandent pourquoi j'incrémente une variable i afin de récupérer la valeur de "description" avec l'indice c'est parce que j'ai tout essayé pour faire une jolie boucle pour tout caler ensemble mais ça ne veut juste pas(par exemple j'avais essayé for i, cell in enumerate(col) et le i restait à 0 et j'ai essayé d'autres choses. Mais si vous avez une idée je suis aussi preneuse).

    Dans tous les cas voici mon principal problème :
    Lors de mes premiers essais j'avais créé cell_range pour essayer de faire une boucle for row in range_cell. Ca ne fonctionnait pas, je l'ai pourtant laissé sans l'utiliser et je réalise à la relecture que dès que je l'enlève pour faire plus propre, dans mon fichier excel, la ligne s'efface totalement.
    Je n'ai pourtant utilisé cette cell_range nul part (j'ai cherché avec Ctrl+F)
    Et j'ai également fait d'autres boucle for sans faire de cell_range postérieur et elles fonctionnent toutes bien..

    Comment ça se fait que dès que je l'enlève ma ligne s'efface complètement ?

  2. #2
    Expert confirmé Avatar de disedorgue
    Homme Profil pro
    Ingénieur intégration
    Inscrit en
    Décembre 2012
    Messages
    4 342
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur intégration
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Décembre 2012
    Messages : 4 342
    Par défaut
    Bonjour,

    Si tu es sur une création, donc un document totalement vide, tes cellules ['A2:F2'] n'existe pas encore, par contre elle sont créées lorsque tu fais justement ton cell_range=wsheet['A2:F2'].

  3. #3
    Nouveau membre du Club
    Femme Profil pro
    Étudiant
    Inscrit en
    Décembre 2021
    Messages
    5
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Landes (Aquitaine)

    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Décembre 2021
    Messages : 5
    Par défaut
    Merci ! Je ne sais pas si c'était ça, en tout cas intriguée par ce que tu as dit, j'ai fait quelques tests en enlevant cell_range et toute ma boucle en laissant les autres boucles et j'ai remarqué que la seule chose qu'il manquait dans ma boucle actuelle c'était max_row=2 !
    Ce qui donne :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    for col in wsheet.iter_cols(min_row=2, max_row=2, max_col=maxi_columns, min_col=1):
            for cell in col:
                cell.value=description[i]
                cell.style=my_style
                cell.alignment=center_alignement
                i+=1
        i=0
    Et la je peux enlever mon cell_range sans soucis !

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Réponses: 3
    Dernier message: 31/03/2021, 17h41
  2. Réponses: 0
    Dernier message: 24/06/2010, 15h10
  3. convertir des donnees dans un fichier excel avec Python
    Par uppersheik dans le forum Bibliothèques tierces
    Réponses: 1
    Dernier message: 19/02/2010, 06h40
  4. Suppression d'une ligne d'un fichier Excel avec Java
    Par Vincinho dans le forum Documents
    Réponses: 1
    Dernier message: 10/12/2009, 16h58
  5. Manipuler un fichier excel avec python
    Par dipajero dans le forum Général Python
    Réponses: 4
    Dernier message: 09/02/2006, 23h14

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo