【问题标题】:How to load jsonlines file with simple file read如何通过简单的文件读取加载 jsonlines 文件
【发布时间】:2020-03-19 16:26:21
【问题描述】:

考虑拥有以下代码和jsonl 文件,
我不使用jsonlines.open() api 读取文件是有特定原因的,所以请把这当作事实。

jsonlines 包参考: https://jsonlines.readthedocs.io/en/latest/#jsonlines.Reader

import jsonlines

with open('example.jsonl', 'r') as jsonl_f:
    content = jsonl_f.read()

with jsonlines.Reader(content) as reader:
    lst = [obj for obj in reader]

example.jsonl内容:

{"hello": "world"}
{"covid": "19"}

我在lst= 线上遇到错误:

 lst = [obj for obj in reader]
  File "../lib/python3.7/site-packages/jsonlines/jsonlines.py", line 204, in iter
    skip_empty=skip_empty)
  File "../lib/python3.7/site-packages/jsonlines/jsonlines.py", line 164, in read
    six.raise_from(exc, orig_exc)
  File "<string>", line 3, in raise_from
jsonlines.jsonlines.InvalidLineError: line contains invalid json: Expecting property name enclosed in double quotes: line 1 column 2 (char 1) (line 1)

【问题讨论】:

    标签: python json python-3.x jsonlines


    【解决方案1】:
    import jsonlines
    
    with jsonlines.open('example.jsonl', 'r') as jsonl_f:
         lst = [obj for obj in jsonl_f]
    

    jsonl_f是阅读器,可以直接使用。它包含 json 文件中的行。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-01-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-18
      • 1970-01-01
      相关资源
      最近更新 更多