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 :

Extraire le mois d'une date au format juliandate [Python 2.X]


Sujet :

Python

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé Avatar de habasque
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Septembre 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 530
    Par défaut Extraire le mois d'une date au format juliandate
    Bonjour,

    Débutant en python, je ne parviens pas à extraire le mois (01, 02...,12) d'une date au format juliandate.
    Je récupère la date d'un fichier texte puis je la convertis:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    #convert dates given into true Julian days, add 2451544.5
    date_first_juld = date_first + 2451544.5
    Si je fais un print du champ 'date_first_juld' voici le contenu:
    [ 2450659.34 2450670.311 2450681.351 ..., 2455192.144 2455173.01]
    A partir de là j'ai fait des tentatives avec 'datetime.datetime.strptime', etc. mais sans succès.

    Si quelqu'un a une idée, je suis preneur.

    Merci d'avance,
    Cdt

  2. #2
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

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

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Bonjour
    Citation Envoyé par habasque Voir le message
    Si je fais un print du champ 'date_first_juld'...
    Surtout ne nous donne pas le contenu de "date_first", ça pimente un peu le challenge !!!

    PS: le type aussi serait aussi une bonne idée mais je suis sûr que tu y aurais pensé tout seul...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  3. #3
    Membre éclairé Avatar de habasque
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Septembre 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 530
    Par défaut
    Voici le contenu de date_first:
    [ -885.16 -874.189 -863.149 ..., 3647.644 3628.51 3638.193]
    Le type : <type 'numpy.ndarray'>

  4. #4
    Membre prolifique
    Avatar de Sve@r
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Février 2006
    Messages
    12 835
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Oise (Picardie)

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

    Informations forums :
    Inscription : Février 2006
    Messages : 12 835
    Billets dans le blog
    1
    Par défaut
    Citation Envoyé par habasque Voir le message
    Le type : <type 'numpy.ndarray'>
    Mouais, ça m'aide encore moins (mais bon, là ce n'est pas ta faute...)

    Citation Envoyé par habasque Voir le message
    Je récupère la date d'un fichier texte puis je la convertis
    Tu voudrais bien nous montrer sous quel format est écrit cette date dans le fichier texte... parce que partir d'une date (que j'imagine assez naïvement jj/mm/aaaa) et finir avec une suite de nombres "aléatoires?" dans un "ndarray" de numpy...

    Accessoirement tu devrais aller voir cette discussion...
    Mon Tutoriel sur la programmation «Python»
    Mon Tutoriel sur la programmation «Shell»
    Sinon il y en a pleins d'autres. N'oubliez pas non plus les différentes faq disponibles sur ce site
    Et on poste ses codes entre balises [code] et [/code]

  5. #5
    Membre Expert

    Homme Profil pro
    Ingénieur calcul scientifique
    Inscrit en
    Mars 2013
    Messages
    1 229
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur calcul scientifique

    Informations forums :
    Inscription : Mars 2013
    Messages : 1 229
    Par défaut
    date_first, c'est le contenu du fichier que tu lis ?
    Si tu le capture comme ça sous la forme d'un array, pour moi il contient plusieurs dates. Chaque nombre en représentant une.

    Si je traite avec un seul nombre, il n'y a pas trop de problème :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    from datetime import datetime
     
    date_first = -885.16
    date_first_juld = date_first + 2451544.5
    print( datetime.fromtimestamp(date_first_juld) )
    print( datetime.fromtimestamp(date_first_juld).month ) ### affiche juste le mois (un entier)
    print( datetime.fromtimestamp(date_first_juld).strftime('%m') ) ### ou comme ca si tu le prefère dans une chaine de caractère
    Et du coup si date_first est un array, et bien tu itères dessus, et tu fais l'opération sur chacun de ses éléments.

  6. #6
    Membre éclairé Avatar de habasque
    Homme Profil pro
    Ingénieur d'études
    Inscrit en
    Septembre 2006
    Messages
    530
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Finistère (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur d'études
    Secteur : Agroalimentaire - Agriculture

    Informations forums :
    Inscription : Septembre 2006
    Messages : 530
    Par défaut
    Merci on approche de la solution ! En revanche, peu importe le contenu du champ 'date_first', la date de sortie est:
    1970-01-29
    Seule l'heure change...

    Pour Sve@r:

    Les dates sont au format indiqué plut haut:
    [ -885.16 -874.189 -863.149 ..., 3647.644 3628.51 3638.193]
    La date de référence est January 1 2000 at 12h UTC soit 2451545 en nombre jour julien.
    C'est pour cela que l'on a des valeurs négatives.

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

Discussions similaires

  1. Extraire le mois d'une date
    Par phal2ip dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 15/09/2008, 17h39
  2. Extraire le mois d'une date
    Par Qapoka dans le forum Développement
    Réponses: 1
    Dernier message: 19/04/2008, 14h52
  3. Extraire le mois d'une date et connaitre le mois en cours
    Par Whinging dans le forum Langage SQL
    Réponses: 7
    Dernier message: 02/04/2008, 20h33
  4. Extraire le mois d'une date
    Par hottnikks_79 dans le forum Access
    Réponses: 3
    Dernier message: 20/07/2006, 21h50
  5. [LG] Extraire le mois dans une date en PASCAL
    Par JPCOCU dans le forum Langage
    Réponses: 1
    Dernier message: 03/10/2005, 15h40

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