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 :

Python et Excel, envoi de données


Sujet :

Python

  1. #1
    Membre à l'essai
    Homme Profil pro
    Ingénieur industriel Biochimie
    Inscrit en
    Mars 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur industriel Biochimie

    Informations forums :
    Inscription : Mars 2015
    Messages : 30
    Points : 16
    Points
    16
    Par défaut Python et Excel, envoi de données
    Bonjour à tous,

    * Je suis confronté à un problème, je cherche depuis un moment, j'ai fait le forum et beaucoup internet mais je reste sans solution.
    Plusieurs choses dans ce post. Je vous les fait parvenir dans l'ordre de priorité

    Je possède un fichier .csv avec des données. Ici tout va bien. j'extrait les données avec
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df = pd.read_csv(sys.argv[1])
    .

    Donc tout vas bien j'ai ma DataFrame; je suis capable de jouer avec, de la modifier ou rajouter des données.
    Tant que maintenant à la fin du programme je sauvegarde dans un nouveau fichier .csv
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df.to_csv(filename,encoding="utf-8")

    * Le premier problème que je n'arrive pas à régler est que si je veux ouvrir mon fichier .csv dans un excel. Je dois ouvrir un excel > donnée > fichier texte > et réglé pour ouvrir un fichier excel avec un format structuré (avec colonnes, index, titres, etc).
    Autant pour moi avant d'envoyer je refais un test mais ça marchait ça......

    *
    Du coups mon premier problème, vient quand je dois créer une deuxième page et éventuellement y inséré une deuxième DataFrame.
    J'ai tenté ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    df.to_excel('montest.xlsx', "sheeeet1", index=True,header=True)
    df.to_excel('montest.xlsx', "shet2", index=True,header=True)
    Mais il me remplace ma "sheeeet1" par la "shet2". Enfin il l'écrase, il ne comprend pas qu'il doit créer une deuxième page....
    La j'ai refais mes testes et d'autres truc avant de lancer, mais rien......

    *
    Ma dernière question et la plus crucial concerne la création de figures avec matplotlib et insertion de ces graphiques dans mon fichier excel.
    Imaginons :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    nbrword = pd.Series([2,3,4,5,6,7,8,9,10])
    ratio = pd.Series([10,20,80,10,30,25,14,26,5])
    df = pd.DataFrame()
    df["nbrword"] = nbrword
    df["ratio"] = ratio
     
    ind = np.arange(len(df.nbrword))
    fig1 = plt.figure()
    plt.bar(ind, df.ratio)
    plt.xticks(ind+0.5,df.nbrword)
    plt.title("Ratio / Nbr de mots")
    plt.ylabel("Ratio %")
    plt.xlabel("Nombre de mots")
    J'obtiens ma "fig1" mais ici problème impossible de l'insérer dans un fichier excel. Bon là, je vous avoue que je sèche clairement.... J'avais déjà réussi a envoyé figure créée par MatLab dans un fichier excel. Mais avec Python rien à faire....

    Donc si quelqu'un à une idée, un exemple, une vidéo, explication, n'importe quoi pour m'orienté je suis preneur.

    *
    La dernière question (promis, après j'arrête). Le code que j'ai mis un peu plus haut avec la "fig1" est fait sur Notebook, et j'arrive très bien a faire à afficher le graphique. Par contre quand je fais la même chose dans mon fichier .py sur ATOM et que je l'exécute avec la cmd, je n'ai aucun graphique qui s'affiche....
    Y'a un truc que je ne sais pas ou que j'oublie?
    C'est pas ultra important puisque l'essentiel serait juste d'envoyer le graphique sur un fichier excel et de pouvoir le visualiser à l'ouverture. Mais bon tant qu'a faire autant comprendre le pourquoi du comment.

    Un long post, j'en suis désolé, si certain sont déjà découragé à sa vue Mais bon débutant en python, on peut dire en stage d'apprentissage, et ça se termine déjà dans une semaine et demi.

    Merci à tous ceux qui prendrons la peine de me donner un coups de pouce.

    Maxime

  2. #2
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    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 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Citation Envoyé par gerday.m Voir le message
    * [INDENT]Du coups mon premier problème, vient quand je dois créer une deuxième page et éventuellement y inséré une deuxième DataFrame.
    J'ai tenté ceci :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    df.to_excel('montest.xlsx', "sheeeet1", index=True,header=True)
    df.to_excel('montest.xlsx', "shet2", index=True,header=True)
    Et si vous preniez le temps d'ouvrir et lire la documentation?
    Il peut paraître un peu bizarre que le premier argument de .to_excel soit "File path" or "existing ExcelWriter", mais tout en bas, ils clarifient le cas d'utilisation:

    If passing an existing ExcelWriter object, then the sheet will be added to the existing workbook. This can be used to save different DataFrames to one workbook:


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    >>> writer = ExcelWriter('output.xlsx')
    >>> df1.to_excel(writer,'Sheet1')
    >>> df2.to_excel(writer,'Sheet2')
    >>> writer.save()

    Citation Envoyé par gerday.m Voir le message
    * [INDENT]Ma dernière question et la plus crucial concerne la création de figures avec matplotlib et insertion de ces graphiques dans mon fichier excel.
    La c'est un peu plus compliqué car il va falloir sauvegarder la figure matplotlib dans un fichier éventuellement en mémoire via StringIO et insérer l'image dans le fichier Excel.
    Le "comment" est décrit dans de nombreux exemples que vous pouvez retrouver grâce à votre moteur de recherche favori:


    Citation Envoyé par gerday.m Voir le message
    Un long post, j'en suis désolé, si certain sont déjà découragé à sa vue Mais bon débutant en python, on peut dire en stage d'apprentissage, et ça se termine déjà dans une semaine et demi.
    Apprendre à lire une documentation, faire des recherches sur le Web, ... c'est utile pour cuisiner, jardiner, bricoler,... et accessoirement aussi pour programmer en Python.

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

  3. #3
    Membre à l'essai
    Homme Profil pro
    Ingénieur industriel Biochimie
    Inscrit en
    Mars 2015
    Messages
    30
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Belgique

    Informations professionnelles :
    Activité : Ingénieur industriel Biochimie

    Informations forums :
    Inscription : Mars 2015
    Messages : 30
    Points : 16
    Points
    16
    Par défaut
    Merci pour votre réponse.

    J'arrive finalement à faire ce que je voulais, envoyer les graphiques dans un fichier excel.

    bon y'aura toujours des trucs sur lesquelles je vais caler. Mais je reviendrai vers vous si vraiment je tourne en rond.
    Sinon pour la doc, j'essaye de la lire et tout. mais parfois difficile, en tant que débutant, de voir ce qui convient ou pas. Et puis parfois faut-il encore savoir comment poser la question....

    Enfin merci bien

    Maxime

Discussions similaires

  1. Réponses: 1
    Dernier message: 17/01/2010, 17h59
  2. erreur lors d'envoi de données excel vers word
    Par pael013 dans le forum Macros et VBA Excel
    Réponses: 15
    Dernier message: 15/05/2008, 14h23
  3. Macro permettant envoi de données dans un autre fichier excel
    Par M8407108 dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 30/11/2007, 11h20
  4. [VBA Excel]Envoie de données sur port serie
    Par Farbin dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 03/08/2006, 08h05
  5. Réponses: 1
    Dernier message: 05/04/2006, 09h49

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