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 :

Conversion format Date et Heure


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2013
    Messages : 2
    Par défaut Conversion format Date et Heure
    Bonjour à tous,

    Dans mon fichier (.csv) ci-joint, les colonnes 'Date' et 'Time' changent de format en cours de route. Je souhaiterai homogénéiser le format de ces deux colonnes pour obtenir à la fin une colonne JJ/MM/AAAA hh:mm:ss.

    Ex :
    Date / Heure Date Time LAV2_PLIQ_M
    0 1/18/2016 6:00 18-Jan-16 6:00:00 66.047874
    30235 1/25/2016 5:58 1/25/2016 0.248842606 66.243286

    Je n'ai aucune idée pour résoudre mon problème d'autant plus que j'ai des dizaines de fichiers comme ceux-ci dans lesquels le format change de manière aléatoire....

    Je lance donc une bouteille à la mer pour chercher un peu d'aide.

    Merci d'avance.

    JEH
    Fichiers attachés Fichiers attachés

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

    Citation Envoyé par jehuguet Voir le message
    Je n'ai aucune idée pour résoudre mon problème d'autant plus que j'ai des dizaines de fichiers comme ceux-ci dans lesquels le format change de manière aléatoire....
    Il serait préférable de regarder comment sont construits ces fichiers et faire en sorte que le format des dates soit plus homogène plutôt que de faire le ménage après.
    Sinon vous avez les fonctions strftime et strptime de la bibliothèque standard qui aident bien pour faire çà.

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

  3. #3
    Candidat au Club
    Homme Profil pro
    Inscrit en
    Octobre 2013
    Messages
    2
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations forums :
    Inscription : Octobre 2013
    Messages : 2
    Par défaut
    Merci pour ta réponse,
    J'ai réussi à changer les formats de mes cellules "Time" et "Date" en passant par un fichier intermédiaire "ESSAI".
    N'y a-t-il pas un moyen plus simple de tester le format des cellules '%m/%d/%Y' ou '%d-%d-%Y' pour les dates et 'decimal' ou 'HH:MM:SS' pour l'heure directement sous Panda?
    Merci d'avance.

    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
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
     
     
    import csv
    import pandas as pd
    import datetime as dt
     
    with open('JAV2_2016_Semaine04.csv') as fh_in, open('ESSAI.csv', 'w') as fh_out:
        csv_reader = csv.DictReader(fh_in)
        csv_writer = csv.DictWriter(fh_out,
                                    fieldnames=csv_reader.fieldnames)
        csv_writer.writeheader()
     
        for row, values in enumerate(csv_reader,2):
            try:
                inNumberfloat = float(values['Time'])
                Hours=int(inNumberfloat*24)
                Minutes=int((inNumberfloat*24-Hours)*60)
                Secondes =int((((inNumberfloat*24-Hours)*60)-Minutes)*60)
                values['Time'] = datetime.timedelta(hours=Hours, minutes=Minutes, seconds=Secondes)
                csv_writer.writerow(values)
            except ValueError:
                pass
     
    d = pd.read_csv('ESSAI.csv', sep=',')
    df['Date']=pd.to_datetime(df['Date'], format='%m/%d/%Y', errors='coerce')
    df['Date'] = df['Date'].dt.strftime('%d/%m/%Y')
    df.tail()

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

    Citation Envoyé par jehuguet Voir le message
    N'y a-t-il pas un moyen plus simple de tester le format des cellules '%m/%d/%Y' ou '%d-%d-%Y' pour les dates et 'decimal' ou 'HH:MM:SS' pour l'heure directement sous Panda?
    Non car on suppose toujours que les données d'une colonne sont toujours dans le même format.
    Et la vraie question à vous poser serait plutôt de savoir comment a été fabriqué ce fichier pour avoir de telles différences dans le format des dates. C'est probablement à la suite d'une fusion/merge un peu audacieux de fichiers différents (et qu'il aurait fallu homogénéiser avant plutôt que de s'arracher les cheveux après).

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

Discussions similaires

  1. [XL-2010] Conversion date+heure au format date et heure
    Par illight dans le forum Macros et VBA Excel
    Réponses: 3
    Dernier message: 27/02/2013, 16h17
  2. Formater Date et Heure
    Par fabiin dans le forum Java ME
    Réponses: 1
    Dernier message: 06/01/2007, 18h21
  3. Conversion format Date
    Par Swaks dans le forum DB2
    Réponses: 1
    Dernier message: 09/11/2006, 14h55
  4. Conversion de date et heure en Excel
    Par youcef81 dans le forum Excel
    Réponses: 2
    Dernier message: 03/10/2006, 12h39
  5. Format date et heure
    Par Iria77 dans le forum Général Python
    Réponses: 1
    Dernier message: 21/08/2006, 14h58

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