当前位置: 首页 > 面试题库 >

将Json嵌套到具有特定格式的Pandas DataFrame

尹钱青
2023-03-14
问题内容

我需要在pandas DataFrame中以某种格式格式化Json文件的内容,以便我可以运行pandassql转换数据并通过评分模型运行它。

文件= C:\ scoring_model \ json.js(“文件”的内容如下)

{
"response":{
  "version":"1.1",
  "token":"dsfgf",
   "body":{
     "customer":{
         "customer_id":"1234567",
         "verified":"true"
       },
     "contact":{
         "email":"mr@abc.com",
         "mobile_number":"0123456789"
      },
     "personal":{
         "gender": "m",
         "title":"Dr.",
         "last_name":"Muster",
         "first_name":"Max",
         "family_status":"single",
         "dob":"1985-12-23",
     }
   }
 }

我需要数据框看起来像这样(显然,同一行上的所有值都试图对此问题进行最佳格式化):

version | token | customer_id | verified | email      | mobile_number | gender |
1.1     | dsfgf | 1234567     | true     | mr@abc.com | 0123456789    | m      |

title | last_name | first_name |family_status | dob
Dr.   | Muster    | Max        | single       | 23.12.1985

我查看了有关此主题的所有其他问题,尝试了各种方法将Json文件加载到熊猫中

`with open(r'C:\scoring_model\json.js', 'r') as f:`
    c = pd.read_json(f.read())

 `with open(r'C:\scoring_model\json.js', 'r') as f:`
    c = f.readlines()

在此解决方案中尝试过pd.Panel()PythonPandas:如何在数据框的列中拆分已排序的字典

[yo =f.readlines()]的数据帧结果与考虑过尝试基于(“”)拆分每个单元格的内容,并找到了一种将拆分后的内容放入不同列的方法,但到目前为止还算不上成功。非常感谢您的专业知识。先感谢您。


问题答案:

如果您将整个json作为字典(或列表)加载(例如使用)json.load,则可以使用json_normalize

In [11]: d = {"response": {"body": {"contact": {"email": "mr@abc.com", "mobile_number": "0123456789"}, "personal": {"last_name": "Muster", "gender": "m", "first_name": "Max", "dob": "1985-12-23", "family_status": "single", "title": "Dr."}, "customer": {"verified": "true", "customer_id": "1234567"}}, "token": "dsfgf", "version": "1.1"}}

In [12]: df = pd.json_normalize(d)

In [13]: df.columns = df.columns.map(lambda x: x.split(".")[-1])

In [14]: df
Out[14]:
        email mobile_number customer_id verified         dob family_status first_name gender last_name title  token version
0  mr@abc.com    0123456789     1234567     true  1985-12-23        single        Max      m    Muster   Dr.  dsfgf     1.1


 类似资料:
  • 问题内容: 因此,可以说JSON响应为: 当您必须首先访问数据时,如何获得值“ value1”和“ value2”? 如果字段位于根目录,那么我可以让该方法返回带有这些字段名称的POJO。 我基本上希望下面的工作。 问题答案: 您可以尝试以下代码,使用Gson库将json字符串转换为具有必填字段的Pojo对象。 或者,您可以定义嵌套的Pojo类来解析它。 编辑:尝试下面的代码以使用Retrofit

  • 问题内容: 我得到一个Date对象,我需要将其转换为XMLGregorian Calendar特定格式 我尝试了以下方法 我有一个例外,可以肯定的是我在这里做错了。但是我想将Date对象格式化为指定的格式,这可以完美地由sdf.format完成。 但是,如何为同一对象(来自formattedDate)创建XMLGregorianCalendar对象? 问题答案: 您可以通过date对象本身来实现:

  • 我试图用一种特定的格式将“即时”格式化为“字符串”。基于这里的问题,我正在做这个- 有什么关于为什么会这样的建议吗? 谢谢

  • 问题内容: 我想要一个连接到服务器URL的dojo网格,该URL输出以下json:{identifier:“ id” items:[{id:“ 1”,name:“ John”,大学:{name:“ XXX “,地址:” YYY“}}]。 基本上我有一个嵌套的json。我想将大学名称和大学地址表示为网格中的单独列。 我尝试使用dojox.grid.DataGrid对象并创建网格布局,但不知道如何引用

  • 我试图写一个规范来使用jolt转换完成下面的转换。我需要将平面JSON转换成嵌套JSON。 输入数据与此问题几乎相同。 Link:将平面json转换为具有多个数组的嵌套Json,并使用Jolt transform在输出中保留空值 我在将平面 JSON 转换为嵌套 JSON 时遇到了一些问题。在这里,我想基于 stoptype 属性聚合数据。我使用 https://jolt-demo.appspot

  • 问题内容: 我在input.txt中有一个具有以下值的文本文件 需要jq rexpression通过删除“ \ r”将其转换为以下json格式 output.json } 我试过下面的表达式并得到 并获得以下输出 问题答案: 解: 输出: 警告 此解决方案假定未出现在输入字符串的“值”部分中。