La lecture du fichier Json comme les Pandas Dataframe erreur
J'ai un fichier Json comme suit. C'est une liste des dicts.
[{"city": "ab", "trips": 4, "date": "2014-01-25", "value": 4.7, "price": 1.1, "request_date": "2014-06-17", "medium": "iPhone", "%price": 15.4, "type": true, "Weekly_pct": 46.2, "avg_dist": 3.67, "avg_price": 5.0}, {"city": "bc", "trips": 0, "date": "2014-01-29", "value": 5.0, "price": 1.0, "request_date": "2014-05-05", "medium": "Android", "%price": 0.0, "type": false, "weekly_pct": 50.0, "avg_dist": 8.26, "avg_price": 5.0}.....]
Quand j'ai lu cela à l'aide de ceci:
data=pd.read_json('dataset.json')
J'obtiens l'erreur suivante:
ValueError: objet Attendu ou la valeur
J'ai essayé cela aussi:
from ast import literal_eval
with open('dataset.json') as f:
data = literal_eval(f.read())
df = pd.DataFrame(data)
Il donne l'erreur suivante:
ValueError: mal formé chaîne
Edit:
Même Json.les charges ne fonctionne pas. Essayé ceci:
import json
data=json.loads('dataset.json')
ValueError: Sans objet JSON peut être décodé
Le fichier Json est de 13,5 MO mais il semble avoir d'énormes quantités de données.
Ne
Pas de. J'ai essayé qu'elle m'a donné cette erreur. Vérifier Les Modifier.
Je pense que vous pourriez bénéficier de cette réponse: stackoverflow.com/a/20644150/5276797
json.loads
travail? (import json
premier...)Pas de. J'ai essayé qu'elle m'a donné cette erreur. Vérifier Les Modifier.
Je pense que vous pourriez bénéficier de cette réponse: stackoverflow.com/a/20644150/5276797
OriginalL'auteur Baktaawar | 2016-04-25
Vous devez vous connecter pour publier un commentaire.
Je pense que vous pouvez utiliser modul
json
pour la lecturefile.json
et puisDataFrame constructor
:Hmmm, je reçois la première erreur (
ValueError: Expected object or value
) et la deuxième erreur (ValueError: malformed string
) trop de l'échantillon. Mais ma solution fonctionne très bien.ok. J'ai juste fait ce @jezrael suggéré. Et cela a fonctionné. Cependant ma colonne, l'ordre est différent. Comme la ville se doit d'être à la première colonne, mais son entrée dans un ordre différent, comme il est de trop. Aucune idée de comment obtenir le même ordre des noms de colonnes?
aucune idée pourquoi
read_json
serait un échec? Et pourquoi votre solution fonctionne? Mêmejson.loads
(avec un s) échoue...Je pense qu'il échoue, car la liste des dictionnaires de
json
fichier. Il est valablejson
, mais sembleread_json
ne supporte pas ce type de json.OriginalL'auteur jezrael
Vous devez indiquer aux Pandas qui "enregistre" mise en forme (où le JSON apparaît comme une liste de dictionnaires) est utilisé dans
datasets.json
.OriginalL'auteur Brad Solomon
J'ai eu le même message d'erreur. Il s'avère qu'elle ne pouvait pas trouver le fichier. J'ai modifié le chemin d'accès et
pd.read_json
a bien fonctionné. Comme pourjson.loads
, cette pourrait être utile.OriginalL'auteur BeeCee
La suite travaillé pour moi, quand la mp.read_json a échoué:
ouvrir le fichier, de la charge normale json.charge, puis de les charger dans une pandas dataframe.
OriginalL'auteur embulldogs99