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 :

Script Python, traitement fichier csv


Sujet :

Python

  1. #21
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 19
    Par défaut
    c:\Test>python csv.py test
    Traceback (most recent call last):
    File "c:\Test\csv.py", line 1, in <module>
    import pandas as pd
    File "C:\Users\20008135\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\__init__.py", line 62, in <module>
    from pandas.core.api import (
    File "C:\Users\20008135\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\core\api.py", line 28, in <module>
    from pandas.core.arrays import Categorical
    File "C:\Users\20008135\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\core\arrays\__init__.py", line 8, in <module>
    from pandas.core.arrays.categorical import Categorical
    File "C:\Users\20008135\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\core\arrays\categorical.py", line 3, in <module>
    from csv import QUOTE_NONNUMERIC
    File "c:\Test\csv.py", line 7, in <module>
    df = pd.read_csv(chemin_csv, sep=',')
    ^^^^^^^^^^^
    AttributeError: partially initialized module 'pandas' has no attribute 'read_csv' (most likely due to a circular import)

  2. #22
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 19
    Par défaut
    Dans le script j'ai mis sys.argv[1].... je ne sais pas si c'est comme ça...
    et je lance en mode commande python csv.py TGHQ2 (par exemple)

    Je découvre la programmation et python et j'avoue que j'ai encore énormément de chose à découvrir. Mais là je bloque malgré mes recherches. Par contre si je ne passe pas d'argument et que je code en dure le nom du fichier ça fonctionne.:
    import pandas as pd

    chemin_csv = '/test/TGHQ2.csv'
    chemin_xls = '/test/TGHQ2.xlsx'

    df = pd.read_csv(chemin_csv, sep=',')

    df['Puissance'] = df['Puissance'].str.replace(' kW', '').astype(float)

    moyenne = df['Puissance'].mean()

    df['Moyenne'] = pd.NA

    df.loc[0, 'Moyenne'] = moyenne

    df.to_excel(chemin_xls, index=False, engine='openpyxl')

  3. #23
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 536
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 536
    Par défaut
    Renomme ton fichier de script, s'appelant csv, il rentre en conflit avec le module python csv, que pandas essaie d'importer (ce qui est la source de l'erreur)

    et j'ai beau regardé, je ne vois pas sys.argv[1] dans le code que tu nous montres (regarde le lien que j'ai donné qui explique le fonctionnement)

    J'ai vu a posteriori son utilisation dans le post précédent (mais pas dans ton dernier, au moment où j'écris)

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chemin_csv = '/test/',sys.argv[1],'.csv'
    chemin_xls = '/test/',sys.argv[1],'.xlsx'
    ce code fait de chemin_csv et chemin_xls des tuples ('/test/', 'THQ2', '.csv') et ('/test/', 'THQ2', '.xlsx'), pas une simple chaine.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    chemin_csv = '/test/'+sys.argv[1]+'.csv'
    chemin_xls = '/test/'+sys.argv[1]+'.xlsx'
    devrait mieux fonctionner.

    PS: utilise la balise de code (bouton # de l'interface) pour publier ton code, ça conserve la mise en forme dont les tabulations, essentielles en python)

  4. #24
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 19
    Par défaut
    Hello, j'ai remplacer le nom du fichier script par toto au lieu de csv mais cela fait la même erreur que précédemment.
    J'ai aussi modifié selon tes conseils le script:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    import pandas as pd
    import sys
     
    chemin_csv = '/test/'+sys.argv[1]+'.csv'
    chemin_xls = '/test/'+sys.argv[1]+'.xlsx'
     
    df = pd.read_csv(chemin_csv, sep=',')
     
    df['Puissance'] = df['Puissance'].str.replace(' kW', '').astype(float)
     
    moyenne = df['Puissance'].mean()
     
    df['Moyenne'] = pd.NA
     
    df.loc[0, 'Moyenne'] = float("%.2f" % moyenne)
     
    df.to_excel(chemin_xls, index=False, engine='openpyxl')

  5. #25
    Membre Expert
    Profil pro
    Inscrit en
    Septembre 2010
    Messages
    1 536
    Détails du profil
    Informations personnelles :
    Âge : 46
    Localisation : France

    Informations forums :
    Inscription : Septembre 2010
    Messages : 1 536
    Par défaut
    tu peux mettre le nouveau message d'erreur

  6. #26
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 060
    Par défaut
    Citation Envoyé par Dingobec
    j'ai remplacer le nom du fichier script par toto au lieu de csv mais cela fait la même erreur que précédemment.
    Tu ne peux pas avoir le même message d'erreur si tu as modifié le nom de ton module csv.py

  7. #27
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 19
    Par défaut
    Bonjour,

    Voici l'erreur reçue:
    c:\Test>python toto.py test
    Traceback (most recent call last):
    File "c:\Test\toto.py", line 1, in <module>
    import pandas as pd
    File "C:\Users\20008135\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\__init__.py", line 62, in <module>
    from pandas.core.api import (
    File "C:\Users\20008135\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\core\api.py", line 28, in <module>
    from pandas.core.arrays import Categorical
    File "C:\Users\20008135\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\core\arrays\__init__.py", line 8, in <module>
    from pandas.core.arrays.categorical import Categorical
    File "C:\Users\20008135\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\core\arrays\categorical.py", line 3, in <module>
    from csv import QUOTE_NONNUMERIC
    File "c:\Test\csv.py", line 7, in <module>
    df = pd.read_csv(chemin_csv, sep=',')
    ^^^^^^^^^^^
    AttributeError: partially initialized module 'pandas' has no attribute 'read_csv' (most likely due to a circular import)

  8. #28
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 19
    Par défaut
    Elle est tout à fait identique à la précédente.

  9. #29
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 060
    Par défaut
    Citation Envoyé par Dingobec
    Elle est tout à fait identique à la précédente.
    Non,

    Citation Envoyé par traceback
    File "c:\Test\toto.py", line 1, in <module>
    Ce qui permet de vérifier que le changement de fichier a bien été fait.

    Tu as d'autres fichiers python dans ton projet ou c'est le seul ?

    Si c'est le seul, tu devrais peut-être réinstaller pandas...

  10. #30
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 19
    Par défaut
    J'en ai un autre: titi.py qui est comme toto.py si ce n'est que le chemin est écrit en dur dans le script
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    import pandas as pd
     
    chemin_csv = '/test/TGHQ2.csv'
    chemin_xls = '/test/TGHQ2.xlsx'
     
    df = pd.read_csv(chemin_csv, sep=',')
     
    df['Puissance'] = df['Puissance'].str.replace(' kW', '').astype(float)
     
    moyenne = df['Puissance'].mean()
     
    df['Moyenne'] = pd.NA
     
    df.loc[0, 'Moyenne'] = moyenne
     
    df.to_excel(chemin_xls, index=False, engine='openpyxl')
    et j'ai cette erreur là:

    c:\Test>python titi.py
    Traceback (most recent call last):
    File "c:\Test\titi.py", line 16, in <module>
    df.to_excel(chemin_xls, index=False, engine='openpyxl')
    File "C:\Users\20008135\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\util\_decorators.py", line 333, in wrapper
    return func(*args, **kwargs)
    ^^^^^^^^^^^^^^^^^^^^^
    File "C:\Users\20008135\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\core\generic.py", line 2417, in to_excel
    formatter.write(
    File "C:\Users\20008135\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\io\formats\excel.py", line 943, in write
    writer = ExcelWriter(
    ^^^^^^^^^^^^
    File "C:\Users\20008135\AppData\Local\Programs\Python\Python312\Lib\site-packages\pandas\io\excel\_openpyxl.py", line 57, in __init__
    from openpyxl.workbook import Workbook
    ModuleNotFoundError: No module named 'openpyxl'

  11. #31
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 19
    Par défaut
    ceci avec la console de commande par contre avec spyder ça marche...

  12. #32
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 19
    Par défaut
    j'ai désinstallé et réinstallé pandas pour info

  13. #33
    Expert confirmé
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    4 060
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Meurthe et Moselle (Lorraine)

    Informations professionnelles :
    Activité : Lead Dev Python
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Juillet 2006
    Messages : 4 060
    Par défaut
    Citation Envoyé par Dingobec
    ModuleNotFoundError: No module named 'openpyxl'
    Le message est clair, faut l'installer, car manquant

  14. #34
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 19
    Par défaut
    Super, ça fonctionne. Merci pour votre aide

  15. #35
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    251
    Détails du profil
    Informations personnelles :
    Âge : 52
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 251
    Par défaut
    N'est-ce pas résolu ?

  16. #36
    Membre averti
    Homme Profil pro
    Electromécanique
    Inscrit en
    Avril 2024
    Messages
    19
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 62
    Localisation : France, Nord (Nord Pas de Calais)

    Informations professionnelles :
    Activité : Electromécanique
    Secteur : Biens de consommation

    Informations forums :
    Inscription : Avril 2024
    Messages : 19
    Par défaut
    Hello, oui cela a été résolu, merci encore à tous

+ Répondre à la discussion
Cette discussion est résolue.
Page 2 sur 2 PremièrePremière 12

Discussions similaires

  1. [PYTHON 3.6] - Traitement Fichier CSV
    Par T16r0u dans le forum Général Python
    Réponses: 1
    Dernier message: 24/03/2021, 15h31
  2. Traitement fichier CSV et recherche de sous-chaines
    Par j.lasnier dans le forum ASP.NET
    Réponses: 2
    Dernier message: 23/03/2010, 11h31
  3. python et fichier .CSV
    Par billyrose dans le forum Général Python
    Réponses: 7
    Dernier message: 22/07/2008, 07h53
  4. Traitement fichiers csv
    Par athra dans le forum Forms
    Réponses: 0
    Dernier message: 20/06/2008, 11h17

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