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 excel avec Python : supprimer lignes , et séparer les lignes dans des onglets différents


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Créateur d'entreprise
    Inscrit en
    Août 2016
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Créateur d'entreprise
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2016
    Messages : 32
    Par défaut Modifier excel avec Python : supprimer lignes , et séparer les lignes dans des onglets différents
    Bonjour,

    J'essaie de modifier un excel en utilisant Python, sur des fichiers importants (plusieurs centaines de lignes) , et plusieurs fois dans une journée (manuellement ce serait sans fin) :

    1 : J'ai des lignes à supprimer en me basant sur le contenu de la cellule de la première colonne. Ces lignes ne se suivent pas, elles sont éparpillées dans le fichier

    Le fichier "source" est comme cela :

    Toto texte
    tata texte
    tata texte
    tata texte
    tata texte
    titi texte
    toto texte
    toto texte
    tata texte
    tata texte
    tata texte
    titi texte
    tata texte

    => je dois supprimer les lignes avec "titi" dans la première cellule , en sachant que je ne connais pas les numéros de lignes etc et le fichier fait des centaines de lignes, donc pas possible de les noter toutes

    Cela donnera :
    Toto texte
    tata texte
    tata texte
    tata texte
    tata texte
    toto texte
    toto texte
    tata texte
    tata texte
    tata texte
    tata texte

    2 : Par la suite, je dois mettre les blocs de lignes qui commencent par tata et se finissent par tata dans des onglets séparés dans l'excel :

    tata texte
    tata texte
    tata texte
    tata texte

    tata texte
    tata texte
    tata texte
    tata texte

    Pour la partie "1" : j'ai essayé avec "drop" mais sans succès, lorsque je convertis l'excel en dataframe, Pandas rajoute des numéros de lignes et donc je ne peux plus les sélectionner selon le contenu de la cellule
    Pour la partie "2": je n'ai rien trouvé sur ce sujet

    C'est assez "costaud" je pense, néanmoins si vous avez des idées et conseils pour me faire avancer merci beaucoup !

    Nico

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 741
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 741
    Par défaut
    Salut,

    Déjà, si vous savez lire et écrire des tableaux dans un fichier XL vous pouvez tout récupérer dans une liste de listes, faire vos traitements, créer un nouveau fichier avec le résultat.

    Après si vous voulez faire çà directement dans le fichier XL, il faut passer par l'interface COM (pywin32) mais c'est un saut dans l'inconnu.

    Après bien sûr, pandas, mais pour le traitement que vous voulez faire, c'est un peu surdimensionné...

    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  3. #3
    Expert confirmé
    Avatar de jurassic pork
    Homme Profil pro
    Bidouilleur
    Inscrit en
    Décembre 2008
    Messages
    4 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Bidouilleur
    Secteur : Industrie

    Informations forums :
    Inscription : Décembre 2008
    Messages : 4 214
    Par défaut
    hello,
    et pourquoi n'utilises-tu pas une macro Excel en VBA. Ce que tu veux faire me semble possible dans ce langage et tu peux poser ta question dans le forum Developpez correspondant ( Forum Office / Excel/Macro et VBA Excel).
    Ami calmant, J.P

  4. #4
    Membre averti
    Homme Profil pro
    Créateur d'entreprise
    Inscrit en
    Août 2016
    Messages
    32
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Seine et Marne (Île de France)

    Informations professionnelles :
    Activité : Créateur d'entreprise
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2016
    Messages : 32
    Par défaut
    Bonjour à vous deux et merci pour vos réponses.

    Le but "ultime" ;-) est d'automatiser ce type de traitements suite au dépôt du fichier "brut" sur un plateforme web, voila pourquoi j'essaie avec Python.
    J'ai également d'autres traitements - renommer des colonnes etc . - sur d'autres fichiers qui marchent pas trop mal, donc je voulais rester sur ma lancée !
    Maintenant, à voir une macro VBA, cela pourrait faire l'affaire tant que je suis en déclenchement manuel du traitement, par la suite je devrais passer à l'automatisation et je devrai trouver un dév pro !

Discussions similaires

  1. Réponses: 0
    Dernier message: 03/12/2019, 17h34
  2. Supprimer/Ajouter ligne dans des blocs différents
    Par diane621 dans le forum jQuery
    Réponses: 8
    Dernier message: 29/07/2017, 11h48
  3. [Python 3.X] Extraire les valeurs d'une ligne d'un tableau excel avec python 34
    Par pascaljqt dans le forum Général Python
    Réponses: 8
    Dernier message: 08/05/2016, 20h35
  4. Réponses: 3
    Dernier message: 18/05/2014, 11h37
  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