2010-07-07 16 views
1

Je lis une date à partir d'une cellule Excel en Python (en utilisant .Value sur la cellule) ... le résultat que je reçois est:Comment puis-je obtenir ma date Python au format que je veux?

07/06/10 00:00:00 

Je pensais que c'était une chaîne, et alors je suis allé à essayer pour savoir comment le convertir au format dont j'ai besoin ("yyyyMMdd", ou "20100706" dans cet exemple). Cependant, après avoir joué, je me suis rendu compte que c'est pas tiré comme une chaîne ... Exécuter le type() sur cela renvoie <type 'time'>. J'ai alors supposé qu'il s'agissait d'un objet temps Python, et j'ai essayé d'utiliser strftime pour le convertir en chaîne ... mais cela ne fonctionnait pas non plus. Il ne reconnaît pas la méthode strftime sur la valeur.

Une idée sur la façon d'analyser correctement et obtenir le format que je veux? Qu'est-ce que je fais mal? (Et si cela contient clairement une date aussi bien qu'une heure, pourquoi Python la considère-t-elle automatiquement comme un objet temporel?)

+1

une cellule dans quoi? pygtk? tkinter? une page Web aléatoire? –

+1

quelle cellule? Est-ce excellent? ou quoi? –

+0

oh whoops. Désolé mon mauvais. oui, excellent. Je vais mettre à jour la question – froadie

Répondre

4

Vous pouvez le convertir en un objet de temps comme celui-ci:

import time 
time.strptime(str(thetime), '%m/%d/%y %H:%M:%S') 

Et alors vous devriez être en mesure de le manipuler à votre contenu de coeurs.

HTH

+0

Essayé que ... je reçois 'AttributeError: type objet 'datetime.time' n'a pas d'attribut 'strptime'' – froadie

+0

Je pense que le' time' dans 'time.strptime()' est un module et pas un objet. –

+0

@Alex Bliskovsky - je ne suis pas sûr d'avoir compris ... comment puis-je changer le code pour le faire fonctionner? – froadie

2

Avez-vous essayé str(time)? Cela devrait vous le donner dans une chaîne et ensuite vous pouvez jouer avec le formatage tout ce que vous aimez.