Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/282.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 带熊猫的嵌套JSON_Python_Json_Pandas_Ipython_Ipython Notebook - Fatal编程技术网

Python 带熊猫的嵌套JSON

Python 带熊猫的嵌套JSON,python,json,pandas,ipython,ipython-notebook,Python,Json,Pandas,Ipython,Ipython Notebook,我试图从下面的JSON文件创建一个数据帧。我一直在使用d1=pd.read_json('user.json'),但这并不是为嵌套值accessToken、facebookId等创建列 有没有一种简单的方法告诉熊猫处理这些嵌套值 这个问题已经在其他地方提出过,但我要求嵌套值作为列输入到更大的数据框中 { "_id": 11, "claimToFame": "Send me some tunes...or your GitHub!", "commentCount": 230, "coverImage

我试图从下面的JSON文件创建一个数据帧。我一直在使用
d1=pd.read_json('user.json')
,但这并不是为嵌套值
accessToken、facebookId
等创建列

有没有一种简单的方法告诉熊猫处理这些嵌套值

这个问题已经在其他地方提出过,但我要求嵌套值作为列输入到更大的数据框中

{
"_id": 11,
"claimToFame": "Send me some tunes...or your GitHub!",
"commentCount": 230,
"coverImage": "img.jpg",
"currentLanguage": "en-GB",
"dateOfBirth": "07/29/1982",
"email": "l@gmail.com",
"facebookDetails":    {
        "accessToken": "123",
        "facebookId": "123"
    }
,
"facebookId": 1,
"firstName": "David",
"followerCount": 422403,
"following": false,
"followingCount": 253,
"googleDetails": 
    {
        "googleId": "111411986454983058357",
        "accessToken": "123"
    }
}
这里有一个方法:

import pandas as pd
import json

data = json.dumps([{
"_id": 11,
"claimToFame": "Send me some tunes...or your GitHub!",
"commentCount": 230,
"coverImage": "img.jpg",
"currentLanguage": "en-GB",
"dateOfBirth": "07/29/1982",
"email": "l@gmail.com",
"facebookDetails":    {
        "accessToken": "123",
        "facebookId": "123"
    }
,
"facebookId": 1,
"firstName": "David",
"followerCount": 422403,
"following": False,
"followingCount": 253,
"googleDetails": 
    {
        "googleId": "111411986454983058357",
        "accessToken": "123"
    }
}], separators=(',',':'))

pd.read_json(data)

使用文件对象
FILEOBJECT
中的数据,使用json模块将数据加载到python结构中

import json
jsondata = json.load(FILEOBJECT)
然后可以使用json_normalize函数创建数据帧

import pandas as pd
usable_dataframe = pd.io.json.json_normalize(jsondata)
在您的情况下,这将导致以下列的数据帧:


[\u id,claimToFame,commentCount,coverImage,currentLanguage,dateof birth,email,facebookDetails.accessToken,facebookDetails.facebookId,facebookDetails.facebookId,firstName,followerCount,followerCount,googleDetails.accessToken,googleDetails.googleId]

您好,在进一步测试后效果很好,但您能帮我一件事吗。例如,facebookDteails列现在包含:“{“accessToken”:“123”,“facebookId”:“123”}”是否有任何方法可以在它们自己的列中获取accessToken和facebookId?