代码之家  ›  专栏  ›  技术社区  ›  MBT Nina Golyandina

将JSONL文件作为JSON对象加载

  •  2
  • MBT Nina Golyandina  · 技术社区  · 8 年前

    我想在python中将JSONL文件作为JSON对象加载。有简单的方法吗?

    2 回复  |  直到 7 年前
        1
  •  3
  •   Andriy Ivaneyko    8 年前

    一般而言,以下代码适用于您:

    import json
    
    result = [json.loads(jline) for jline in jsonl_content.split('\n')]
    

    如果这是响应对象,结果将是:

    result = [json.loads(jline) for jline in response.read().split('\n')]
    
        2
  •  2
  •   cryanbhu    7 年前

    完整的步骤,包括像我这样的初学者的文件操作

    假设你有一个 .jsonl 文件类型:

    {"reviewerID": "A2IBPI20UZIR0U", "asin": "1384719342", "reviewerName": "cassandra tu \"Yeah, well, that's just like, u...", "helpful": [0, 0], "reviewText": "Not much to write about here, but it does exactly what it's supposed to. filters out the pop sounds. now my recordings are much more crisp. it is one of the lowest prices pop filters on amazon so might as well buy it, they honestly work the same despite their pricing,", "overall": 5.0, "summary": "good", "unixReviewTime": 1393545600, "reviewTime": "02 28, 2014"}
    {"reviewerID": "A14VAT5EAX3D9S", "asin": "1384719342", "reviewerName": "Jake", "helpful": [13, 14], "reviewText": "The product does exactly as it should and is quite affordable.I did not realized it was double screened until it arrived, so it was even better than I had expected.As an added bonus, one of the screens carries a small hint of the smell of an old grape candy I used to buy, so for reminiscent's sake, I cannot stop putting the pop filter next to my nose and smelling it after recording. :DIf you needed a pop filter, this will work just as well as the expensive ones, and it may even come with a pleasing aroma like mine did!Buy this product! :]", "overall": 5.0, "summary": "Jake", "unixReviewTime": 1363392000, "reviewTime": "03 16, 2013"}
    

    此代码应该有效:

    import json
    
    with open('./data/my_filename.json', 'r') as json_file:
        json_list = list(json_file)
    
    for json_str in json_list:
        result = json.loads(json_str)
        print("result: {}".format(result))
        print(isinstance(result, dict))
    

    关于 JSONL 文件夹:
    http://jsonlines.org/