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 :

Ecrire plusieur fois dans une même cellule excel


Sujet :

Python

  1. #1
    Nouveau Candidat au Club
    Homme Profil pro
    BTS SIO
    Inscrit en
    Juin 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : BTS SIO
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut Ecrire plusieur fois dans une même cellule excel
    Bonjour à tous,

    Je demande votre aide pour un problème qui ne doit sûrrement pas être bien compliqué.
    Je fais de la programmation sur Python 2.7 en entreprise (pour mon stage de BTS), il m'a été demandé de créer un programme qui enregistre un historique dans le temps. Le programme que je crée doit aller chercher ses données dans un fichier.txt puis écrire l'historique dans un fichier Excel. Pour l'instant j'arrive à écrire dans le fichier Excel tout ce que je veux. Mon souci est que le programme à chaque lancement remplacement les valeurs dans le fichier Excel (les valeurs qu'il écrit sont justes) mais je veux qu'il ajoute les nouvelles données dans la même cellule au lieu de les remplacer.

    Dans les pièces jointe se trouve le fichier.txt et le preogramme python
    results.txt
    testexcel.py

    Merci d'avance pour toute vos réponses.
    stagière38

  2. #2
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Salut,

    As tu essayé une simple lecture, puis concatenation puis ecriture?

    ex:
    rd = lecture_celleule()
    a_ecrire = rd + complement
    lecture.ecriture(a_ecrire)

    C'est très schématisé mais en general ça fonctionne très bien

  3. #3
    Nouveau Candidat au Club
    Homme Profil pro
    BTS SIO
    Inscrit en
    Juin 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : BTS SIO
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Pour lecture.ecriture j'avais essayé readline.write() mes sans resultats... une idée pour solutionner ce problème?

    PS: j'ai oublié de préciser que je débute en Python, cela fais quinze jours que je decouvre le language ^^

  4. #4
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Dans mon exemple, complement correspond à ce que tu veux ajouter à suivre de ce qui est deja dans la cellule.

    Concernant, le read, il va falloir que j'aille lire un peu la doc, mais ça va devoir attendre ce soir que je soit chez moi

  5. #5
    Expert éminent

    Avatar de deusyss
    Homme Profil pro
    Expert Python
    Inscrit en
    Mars 2010
    Messages
    1 659
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Expert Python
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mars 2010
    Messages : 1 659
    Points : 8 442
    Points
    8 442
    Par défaut
    Hello,

    Alors apres avoir lu les docs, moi ce que j'en ressort c'est que ta lib ne fait que de l'ecriture. Il t'en faut une autre pour la lecture (xlrd). SInon le concept est bien celui que je t'avais donné:
    1-Lecture
    2-Manipulation
    3-Ecriture

    Sinon, autre solution pour de l'excel: https://pythonhosted.org/openpyxl/

    Enfin, autre solution, laisser tomber l'excel et partir sur du tandard: Libre office Calc (ods). C'est alors la lib ezodf. Des exemple de manip ODS ICI.

  6. #6
    Membre éprouvé

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 658
    Points : 1 158
    Points
    1 158
    Par défaut
    Salut,

    J'ai déjà eu à manipuler les modules xlrd et xlwt. Stagiaire38, est ce que tu cherches à créer un nouveau document excel à chaque lancement de ton script? Dans ce cas, Deusyss a tout dit, il te faut au préalable traiter tes données AVANT de les écrire dans les cellules adéquates.

    Si au contraire, tu cherches à modifier un document déjà existant, c'est plus compliqué. En fait, ni xlrd (lecture), ni xlwt (écriture) ne peuvent faire ça. La seule méthode dans ce cas c'est de lire l'ensemble du document et de le réécrire modifié dans un autre. Pas pratique.

    Source:
    http://www.simplistix.co.uk/presenta...thon-excel.pdf

  7. #7
    Nouveau Candidat au Club
    Homme Profil pro
    BTS SIO
    Inscrit en
    Juin 2014
    Messages
    3
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : BTS SIO
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2014
    Messages : 3
    Points : 1
    Points
    1
    Par défaut
    Merci pour la rapidité de vos réponses.

    La méthode que je souhaite utiliser est de modifier un document déja existant. Mais si c'est trop compliqué je vais essayer de refaire le programme avec vos méthodes.

    Je vous tiens au courant de mes avancés dés que je serai à mon travail.

  8. #8
    Membre éprouvé

    Homme Profil pro
    Ingénieur
    Inscrit en
    Août 2010
    Messages
    658
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Août 2010
    Messages : 658
    Points : 1 158
    Points
    1 158
    Par défaut
    Salut,

    Fort heureusement, les mecs derriere xlrd et xlwt ont pensé à ce cas de figure. Ils ont mis à disposition un troisième module, xlutils (si ma mémoire est bonne) dans lequel on trouve nottamment une method pour modifier un document Excel existant. Le principe est celui que j'ai déjà évoqué: on recopie le plus fidèlement possible le contenu du fichier et on le réécrit modifié dans un document vierge.

    Le problem est que c'est loin d'être parfait. ça ne marche bien que pour des fichiers excel avec peu de formatage, ou avec peu de formule, pas de code vba, etc..

    J

Discussions similaires

  1. Plusieurs valeurs dans une même cellule
    Par biche1 dans le forum Excel
    Réponses: 4
    Dernier message: 25/09/2008, 15h56
  2. Réponses: 5
    Dernier message: 04/06/2008, 10h03
  3. Réponses: 3
    Dernier message: 20/02/2008, 17h13
  4. Réponses: 4
    Dernier message: 21/11/2007, 12h19
  5. Plusieurs résultats dans une même cellule
    Par luboyoyo dans le forum Excel
    Réponses: 2
    Dernier message: 04/06/2007, 08h39

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