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 :

formater date 21/12/2020


Sujet :

Python

  1. #1
    Nouveau membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2019
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 62
    Points : 36
    Points
    36
    Par défaut formater date 21/12/2020
    Bonjour à tous,
    j'importe un fichier csv dans sqlite avec des dates au format 21/12/2020, je voudrait les passer en "%y/%m/%d" pour le tri mais j'ai toujours des difficulté de format avec datetime.
    Auriez-vous une solution simple ?

    Merci

  2. #2
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 824
    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 : 3 824
    Points : 7 120
    Points
    7 120
    Par défaut
    Bonjour,

    Si vous utiliser la fonction sorted pour le tri de vos dates, vous n'êtes pas obligé de modifier le format de la date. Vous pouvez utiliser un callback de tri, en utilisant le paramètre key de la fonction sorted.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

  3. #3
    Nouveau membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2019
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 62
    Points : 36
    Points
    36
    Par défaut tri date python
    merci je ne maîtrise pas tout mais ça me tri selon le jour,
    alors que si je passe en format 2020-12-20 par exemple c'est nickel, c'est pour ça que je voudrait changer le format date.

    merci

  4. #4
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 824
    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 : 3 824
    Points : 7 120
    Points
    7 120
    Par défaut
    Voici un exemple,

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    def callback(item):
        return [int(i) for i in reversed(item.split('/'))]
     
     
    dates = ["20/12/2015", "05/06/2008", "05/07/2008", "05/05/2008", "12/11/2000"]
     
    print(sorted(dates, key=callback))
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

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

    Citation Envoyé par salpat Voir le message
    Auriez-vous une solution simple ?
    21/12/2020 ou 2020/12/21 ne sont pas des "dates" mais des représentations de "dates" sous forme de chaines de caractères compréhensibles par des humains d'un milieu culturel donné.

    Quand on programme, on va éviter d'utiliser des dates sous cette forme là: çà prend de la place et suivant la représentation comparer 2 dates devient "sportif". On utilise une représentation "canonique" en convertissant la chaine de caractère en objet "date" via .strptime(...).

    On fait la même chose avec les encodings: dans le programme, on travaille avec de l'unicode et on fait des conversions pour les entrées sorties avec l'encoding qui va bien.

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

  6. #6
    Nouveau membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2019
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 62
    Points : 36
    Points
    36
    Par défaut tri date sqlite
    re,
    merci je comprends le principe mais je ne vois pas comment l'appliquer.

    Par exemple avec ce code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    cur.execute('''INSERT INTO TABLE (Date,Solde)  SELECT Date,Solde FROM IMPORT EXCEPT SELECT Date,Solde FROM TABLE2 ORDER BY Date DESC''')
    si je passe mes dates du fichier csv avant l'import en format 2016-12-1 ça fonctionnent mais je ne saisis pas selon quel ordre on doit utiliser .strptime pour ne pas toucher la date dans la table sql et la trier,
    ou comment appliquer le tri sorted(dates, key=callback) en sql ?

    Par ailleurs, j'ai lu et appliqué à la création de mes tables pour les champs "Date" timestamp, est-ce pertinent ou un simple "Date" TEXT est mieux ?

    En vous remerciant pour vos solutions,

  7. #7
    Expert éminent
    Avatar de fred1599
    Homme Profil pro
    Lead Dev Python
    Inscrit en
    Juillet 2006
    Messages
    3 824
    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 : 3 824
    Points : 7 120
    Points
    7 120
    Par défaut
    Bonjour,

    Merci de donner le contexte depuis le départ...

    Ma réponse n'est pas adaptée à votre problème.
    Celui qui trouve sans chercher est celui qui a longtemps cherché sans trouver.(Bachelard)
    La connaissance s'acquiert par l'expérience, tout le reste n'est que de l'information.(Einstein)

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

    Citation Envoyé par salpat Voir le message
    je comprends le principe mais je ne vois pas comment l'appliquer.
    Je ne comprends pas comment vous essayez de l'appliquer.

    Transformer en "dates" python via .strptime des dates sous forme de chaines de caractères est une question.
    Stocker des "date"s python dans sqlite pour lui faire faire des tris, en est une autre.

    Pour chacune, vous avez à écrire un petit exemple de code pour voir et comprendre comment çà se met en œuvre, après avoir lu la documentation et cherché un peu sur Internet.

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

  9. #9
    Nouveau membre du Club
    Homme Profil pro
    Directeur technique
    Inscrit en
    Décembre 2019
    Messages
    62
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 50
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Directeur technique

    Informations forums :
    Inscription : Décembre 2019
    Messages : 62
    Points : 36
    Points
    36
    Par défaut tri date sqlite
    Bonjour et encore merci,
    j'ai essayé d'être clair dans mon script,
    je débute et je suis preneur pour toute observation.

    cordialement,
    Fichiers attachés Fichiers attachés

Discussions similaires

  1. Format date : y'a forcément plus simple...
    Par ZERS dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 02/12/2004, 15h28
  2. Transformation en format Date
    Par Jean-Matt dans le forum Langage SQL
    Réponses: 6
    Dernier message: 16/11/2004, 16h20
  3. Tester un format date
    Par Tapioca dans le forum MS SQL Server
    Réponses: 5
    Dernier message: 30/06/2004, 10h18
  4. interfaces Access et format Date
    Par say dans le forum InterBase
    Réponses: 21
    Dernier message: 10/05/2004, 17h24
  5. Format date
    Par cochet dans le forum Bases de données
    Réponses: 4
    Dernier message: 02/03/2004, 08h37

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