Forum |  HardWare.fr | News | Articles | PC | Prix | S'identifier | S'inscrire | Aide | Shop Recherche
1834 connectés 

  FORUM HardWare.fr
  Programmation
  Python

  Eviter les quotes quand j'insère du texte dans un tableau

 



 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Eviter les quotes quand j'insère du texte dans un tableau

n°2279487
talium
Et c'est pas fini ©
Posté le 14-04-2016 à 19:43:41  profilanswer
 

Bonjour à tous,
 
J'ai un problème, je n'arrive pas à générer des données JSON (en me basant sur des données déjà en JSON) sans avoir de " quand j'insère du texte. J'ai vraiment besoin d'une explication, si une bonne âme passe par là :)
 
J'essaye d'utiliser Highcharts pour générer des courbes sur une page Web. Cette courbe-là, pour ceux que ça intéresse : http://www.highcharts.com/demo/line-time-series.
Pour générer la courbe, Highcharts demande à recevoir les données au format JSON sous cette forme :
 

Code :
  1. [
  2.     [
  3.         Date.UTC(2016,4,12,0,0,0),
  4.         1.2523813247680664
  5.     ],
  6.     [
  7.         Date.UTC(2016,4,12,1,0,0),
  8.         1.149500846862793
  9.     ],
  10.     [
  11.         Date.UTC(2016,4,12,2,0,0),
  12.         1.2079591751098633
  13.     ]
  14. ]


 
J'ai donc écrit un bout de code en Python qui génère un tableau contenant lui même des tableaux contenant chacun 1 couple Date / donnée (et que je lancerai en crontab régulièrement) :
 

Code :
  1. while i < 24:
  2.   #year, month et day sont récupérés dans la boucle, je n'ai pas de soucis sur cette partie là
  3.   hour = i
  4.   date = "Date.UTC("+str(year)+","+str(month)+","+str(day)+","+str(hour)+",0,0)"
  5.   data = ((vnstat_json['interfaces'][0]['traffic']['hours'][i]['tx'])/1024)/1024
  6.   array = [date, data]
  7.   highcharts_json.append(array)
  8.   i += 1


 
J'écris ensuite le résultat dans un fichier, qui sera fourni à Highcharts (dans le code d'une page web) pour créer le graphique :
 

Code :
  1. json_file = open("/srv/http/json_test.json", "w" )
  2. json_file.write(json.dumps(highcharts_json, indent = 4))
  3. json_file.close()


 
Le problème c'est que dans le fichier, j'ai des " encadrant chaque date :
 

Code :
  1. [
  2.     [
  3.         "Date.UTC(2016,4,12,0,0,0)",
  4.         1.2523813247680664
  5.     ]
  6. ]


 
Comment puis-je faire pour éviter ces " ? Je débute en Python, j'espère n'avoir rien loupé en ce qui concerne la gestion des types de données ... J'ai aussi essayé des choses comme .strip() pour essayer d'enlever les ", mais rien à faire. Et j'aimerais comprendre pourquoi ils apparaissent de toutes façons ...
 
Par avance merci !


---------------
Les pièces jointes, c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas.
mood
Publicité
Posté le 14-04-2016 à 19:43:41  profilanswer
 

n°2279491
Profil sup​primé
Posté le 14-04-2016 à 20:45:59  answer
 

Et si ligne 4 : Date = "Date.UTC...."
 
T'enlève les premier et dernier " ?

n°2279495
talium
Et c'est pas fini ©
Posté le 14-04-2016 à 21:28:46  profilanswer
 

J'ai essayé au cas où, ça marche pas : NameError: name 'Date' is not defined
 
Ce qui me paraît logique, si j'indique pas que c'est du texte il ne comprend pas d'où sort "Date.UTC..."


---------------
Les pièces jointes, c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas.
n°2279496
Profil sup​primé
Posté le 14-04-2016 à 21:30:36  answer
 

talium a écrit :

J'ai essayé au cas où, ça marche pas : NameError: name 'Date' is not defined
 
Ce qui me paraît logique, si j'indique pas que c'est du texte il ne comprend pas d'où sort "Date.UTC..."


 
Et t'a pas un autre moyen d'indiquer que c'est d texte ?

n°2279498
Profil sup​primé
Posté le 14-04-2016 à 21:48:54  answer
 

Avec l'opérateur de concatenation peut-être ?
 
genre "" & Date.UTC...

n°2279500
talium
Et c'est pas fini ©
Posté le 14-04-2016 à 22:29:20  profilanswer
 

non plus :(


---------------
Les pièces jointes, c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas.
n°2279504
Profil sup​primé
Posté le 14-04-2016 à 23:09:08  answer
 

Si tu place un le mot string devant date ?
 
Si non, ça m'a l'air un peut plus complexe, il faudrait apparemment utiliser une fonction de formatage et la fonction Date.toString
j'ai tapé, how to obtain date string with java dans google.


Message édité par Profil supprimé le 14-04-2016 à 23:10:50
n°2279538
h3bus
Troll Inside
Posté le 15-04-2016 à 11:46:53  profilanswer
 

Il faudrait que date soit du type date et que tu l'instancie avec un datetime.date([bla bla])

 

Actuellement c'est une chaine de caractère qui est forcément entre guillemets en JSON.


Message édité par h3bus le 15-04-2016 à 11:48:00

---------------
sheep++
n°2279552
talium
Et c'est pas fini ©
Posté le 15-04-2016 à 14:30:42  profilanswer
 

Ok, compris.
Bon, j'ai résolu mon problème du coup grâce à ça, plutôt que d'écrire dans un Array et d'écrire mon Array à la fin dans un fichier, j'écris au fur et à mesure dans le fichier, ça m'évite d'avoir une chaîne de caractères dans un Array qui impose les ".
 
Merci !


---------------
Les pièces jointes, c'est comme les bonbons, quand ça vient d'un inconnu, on n'accepte pas.

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Python

  Eviter les quotes quand j'insère du texte dans un tableau

 

Sujets relatifs
[CSHARP] comparer caractère d'un fichier texteMatlab : Comment afficher du texte (consigne) à l'écran
Ficher Texte a tronquerInsérer une image dans un tableau HTML envoyée par sendmail
recherche dans un tableau.Générer un PDF à partir d'un tableau HTML
Afficher un texte diffrentes selon l'heure de la journéeLien hypertexte dans un tableau à partir d'une base de données?
Eviter le "document expiré"Lecture d'un fichier texte
Plus de sujets relatifs à : Eviter les quotes quand j'insère du texte dans un tableau


Copyright © 1997-2018 Hardware.fr SARL (Signaler un contenu illicite) / Groupe LDLC / Shop HFR