modifier affichage date après conversion csv en json
Bonjour à tous,
Je dispose d'un fichier csv que j'ai converti en json. Mais les dates apparaissent au format "%y%m%d" ce qui me donne cela:
datetime.datetime(2015, 4, 25, 0, 0) : '12.5', datetime.datetime(2015, 5, 31, 0, 0): '9.5', datetime.datetime(2015, 9, 6, 0, 0): '11.0', datetime.datetime(2015, 1, 14, 0, 0): '8.30'...
Je dois faire apparaître les données comme cela: 25/04/2015 : 12.5. Comment faire? J'ai essayé avec JSONencoder
avec MyObj(object)?
Code:
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 28 29 30
|
import csv
import json
from datetime import datetime
from json import dumps
def mesdonnees(row ): #fonction qui crée mes dictionnaires et récupère les infos
def json_serial(obj):
"""JSON serializer for objects not serializable by default json code"""
if isinstance(obj, datetime):
serial = obj.isoformat()
return serial
raise TypeError ("Type not serializable")
# lire le fichier csv
with open('fichiernouvellesdonnees2014.json', 'w') as jsonfile:
#je manipule mon fichier
with open('fichiernouvellesdonnees2014I.csv','r') as csvfile:
reader = csv.DictReader(csvfile,delimiter=';')#Lire une ligne de tableau = un dictionnaire.
for row in reader:
listedesdonnees2014=mesdonnees(row)
print dumps(listedesdonnees2014, default=json_serial)
jsonfile.write('\n')
jsonfile.close() |