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 :

Renommer colonne fichier CSV [Python 3.X]


Sujet :

Python

  1. #1
    Membre averti
    Femme Profil pro
    téléconseiller
    Inscrit en
    Octobre 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : téléconseiller
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2018
    Messages : 36
    Par défaut Renommer colonne fichier CSV
    Bonjour,

    Je rencontre des difficultés pour renommer des colonnes avec python.
    Je ne comprends pas l'erreur.
    J'aimerai remplacé l'intitulé de la colonne Nb-Pages par NBPAGE
    Le code utilisé :


    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    import csv 
    import json
    import pandas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    df = pandas.read_csv(chemincsv)
     
    df = df.rename(columns=({'Nb-Pages':'NBPAGE'}))
    df.set_index('NBPAGE').to_csv(chemincsv, index=None)
    j'ai cette erreur :
    raise KeyError(f"None of {missing} are in the columns")
    KeyError: "None of ['NBPAGE'] are in the columns"
    Si vous pouvez m'aider ou me réorienter ?

    Merci

    Mathilde

  2. #2
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    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 699
    Par défaut
    Salut,

    Le sujet de la discussion serait plutôt de comment renommer une colonne d'un Data frame pandas et df.rename(columns=...) devrait le faire pourvu que la colonne à renommer existe.
    Mais vous ne montrez ni les noms de colonnes de départ ni si la colonne a son nouveau nom après.

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

  3. #3
    Membre averti
    Femme Profil pro
    téléconseiller
    Inscrit en
    Octobre 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : téléconseiller
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2018
    Messages : 36
    Par défaut
    Effectivement ....

    Ici le CSV de base Nom : csv.JPG
Affichages : 1268
Taille : 32,8 Ko

    Je n'ai maintenant plus de message d'erreur lorsque j'exécute mon script.
    Mais la colonne 'Nb-Pages' a disparu: et 'NBPAGE' n'apparait pas

    Résultat : Nom : csv2.JPG
Affichages : 1284
Taille : 33,9 Ko

    Mathilde,

  4. #4
    Membre averti
    Femme Profil pro
    téléconseiller
    Inscrit en
    Octobre 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : téléconseiller
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2018
    Messages : 36
    Par défaut
    En faite mon problème se situe au niveau du
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df.set_index('NBPAGE').to_csv(chemincsv, index=None)
    qui n'enregistre pas les infos dans le csv


    Lorsque je fait un print de df apres
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    df = df.rename(columns=({'Nb-Pages':'NBPAGE'}))
    ma projection est bien corrigé

    Mathilde

  5. #5
    Membre averti
    Femme Profil pro
    téléconseiller
    Inscrit en
    Octobre 2018
    Messages
    36
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : téléconseiller
    Secteur : Arts - Culture

    Informations forums :
    Inscription : Octobre 2018
    Messages : 36
    Par défaut
    En faite, je n'arrive juste pas à enregistrer mes modifications dans le .csv.

  6. #6
    Expert éminent
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 699
    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 699
    Par défaut
    Citation Envoyé par titlde26 Voir le message
    En faite, je n'arrive juste pas à enregistrer mes modifications dans le .csv.
    Plutôt que de taper tout et n'importe quoi, vous devriez réfléchir un peu à ce qu'il se passe. df.rename ou df.set_index fabriquent par défaut un nouveau dataframe (sans modifier l'original). Il y a des arguments comme copy ou inplace pour modifier ce "par défaut".

    Pour le reste, changer une chaine de caractères de la première ligne d'un fichier texte se fait beaucoup plus facilement sans pandas qu'avec... et dans tous les cas, apprendre à maîtriser ce que vous utiliser pour le faire (et vérifier que çà fait ce que vous attendez), c'est le boulot de base du programmeur.

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

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

Discussions similaires

  1. [Batch] Ajouter colonne fichier csv
    Par MonakaNeedHelp dans le forum Scripts/Batch
    Réponses: 3
    Dernier message: 18/09/2018, 13h55
  2. Extraction colonnes fichier csv
    Par fpfpf dans le forum Général Python
    Réponses: 6
    Dernier message: 11/05/2015, 11h19
  3. [XL-2003] Macro conversion colonne fichier CSV
    Par novice06 dans le forum Macros et VBA Excel
    Réponses: 5
    Dernier message: 15/10/2012, 21h34
  4. Déplacer et renommer des fichier CSV
    Par smain_inf dans le forum VBScript
    Réponses: 5
    Dernier message: 25/02/2010, 18h54
  5. renommer un fichier CSV par javascript
    Par deep_blue dans le forum Général JavaScript
    Réponses: 2
    Dernier message: 15/02/2008, 20h27

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