([Ajout] Comme mentionné dans le commentaire, avec la coopération de gc373, les données du problème ont été corrigées en JSON.) Les données sont importantes. De bonnes données apporteront une bonne valeur à la société. De bonnes données sont non seulement importantes pour avoir des informations précieuses, mais aussi pour être faciles à manipuler. Facile à utiliser signifie que vous pouvez facilement accéder et lire les données. Il est gênant d'avoir un format de logiciel spécial ou quelque chose de plus écrit que les humains doivent lire avant de lire. SHIFT_JIS est également un problème.
Cependant, quelque chose ne peut être fait qu'avec les données, et il faut comprendre que le gouvernement a commencé à publier les données sous forme de données ouvertes. Cependant, le savoir-faire sur le type de données à publier est insuffisant.
En passant, il existe un site appelé http://www.data.go.jp/, et il semble que d'innombrables données puissent être obtenues. Je suis sûr qu'il existe des données enfouies qui peuvent améliorer notre pays. Attendant ..., je l'ai touché un instant. Pour le moment, j'ai vu Liste des métadonnées pour juillet 2016, donc je me demandais ce qui était écrit. J'ai donc téléchargé le JSON.
import json
text = "".join(open("hoge.json").readlines())
data = json.loads(text)
Si vous le faites, vous pourrez le lire. Il était censé être. Mais ça ne marche pas. Je n'ai pas pu m'en empêcher, j'ai donc jeté un coup d'œil au dossier. Alors qu'est-ce que c'est?
[{u'license_title': None, u'maintainer': None,・ ・ ・
JSON est une donnée conforme au format javascript. Cependant, il n'y a rien de tel en javascript. Il n'y a pas de grammaire comme u'hoge '. Ouais, ce n'est pas JSON.
Au contraire, aucun ne serait python. On soupçonnait que cela aurait pu générer les données python sans les convertir en json. Alors, sans égard pour le danger,
data = eval(text)
Quand je l'ai essayé, les données pouvaient être lues sans aucune erreur. Bien sûr, cette méthode est très dangereuse. S'il contient des pièces malveillantes, il n'y aura pas de grumeaux. Ce n'est pas correct parce que ce sont des données publiées par le gouvernement, mais j'ai décidé de blâmer le gouvernement si quelque chose arrivait. Un bon enfant ne doit pas imiter. En fait, l'utilisation du processeur a atteint 100% et 16 Go de mémoire ont été utilisés.
Maintenant, sauvegardons les données lues dans JSON cette fois.
with open("out.json", "w") as f:
f.write(json.dumps(data))
Vous l'avez enregistré avec succès en tant que json. Je suis heureux.
Après cela, j'ai pensé que je me plaindrais du fait que les données étaient incorrectes même à la réception d'avis, mais quand j'ai suivi le lien de réception d'avis, il a dit "Ce n'est pas une connexion sécurisée" et a demandé une correction. Je ne peux pas faire ça. Alors j'ai écrit quelque chose comme ça ici.
N'y a-t-il pas de bonnes données quelque part ...
Recommended Posts