正确读取json文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正确读取json文件相关的知识,希望对你有一定的参考价值。

该语句读取json文件。但它没有正确拆分列。

df = pd.read_json('https://s3.amazonaws.com/todel162/config1.json',orient ='index')

有没有办法用pandas dataframe读取json?

答案

你可以使用json.json_normalize

import json
from pandas.io.json import json_normalize

with open('config1.json') as f:    
    data = json.load(f)  

df = json_normalize(data, 'configurationItems', ['fileVersion'])
print (df)
                                                 ARN  awsAccountId  awsRegion  
0  arn:aws:cloudtrail:us-east-1:513469704633:trai...  513469704633  us-east-1   
1  arn:aws:cloudtrail:us-east-1:513469704633:trai...  513469704633  us-east-1   

  configurationItemCaptureTime configurationItemStatus  
0     2018-07-27T11:52:53.795Z         ResourceDeleted   
1     2018-07-27T11:52:53.791Z         ResourceDeleted   

  configurationItemVersion  configurationStateId configurationStateMd5Hash  
0                      1.3         1532692373795                             
1                      1.3         1532692373791                             

  relatedEvents relationships                 resourceId  
0            []            []  AWSMacieTrail-DO-NOT-EDIT   
1            []            []                     test01   

             resourceType supplementaryConfiguration tags fileVersion  
0  AWS::CloudTrail::Trail                         {}   {}         1.0  
1  AWS::CloudTrail::Trail                         {}   {}         1.0  
另一答案

你可以试试这个。

import json
import urllib.request as req
import pandas as pd

with req.urlopen("https://s3.amazonaws.com/todel162/config1.json") as j:
    raw = json.loads(j.read().decode())

df = pd.DataFrame(raw["configurationItems"])
df["fileVersion"] = raw["fileVersion"]

print(df)

以上是关于正确读取json文件的主要内容,如果未能解决你的问题,请参考以下文章

正确读取json文件

未正确读取 JSON 文件

在 Swift 中从 json 文件中读取数据的正确方法是啥?

在 Pyspark 代码中读取嵌套的 Json 文件。 pyspark.sql.utils.AnalysisException:

如何仅使用 JavaScript 正确读取 json 文件 [重复]

Flutter:如何正确读取 JSON 中的字段?