小编xcc*_*ccx的帖子

在Python中读取大型JSON文件(raw_decode)

我正在尝试在Python中读取大型JSON文件(data.json)。因为JSON文件具有多个JSON对象,并且将在Python中创建多个字典(字典的数量未知),所以我使用了coder.raw_decode()和generator。以下是代码:

import json
import pprint
import io
import pprint

def parse():

    with open('data.json',encoding='utf-8') as jfile:
        try:
            while True:
                decoder = json.JSONDecoder()
                obj, idx = decoder.raw_decode(jfile)
                yield obj
        except ValueError as e:
            print(e)
            pass
        else:
            print("aha")


def main():
    imputd=parse()
    if imputd: 
        while True:
            try:
                print(str(next(imputd)).readlines())
            except StopIteration as e:
                print(e)
                break

main()
Run Code Online (Sandbox Code Playgroud)

我得到错误:

Traceback (most recent call last):
  File "H:\Document\Python\j10.py", line 57, in <module>
    main()
  File "H:\Document\Python\j10.py", line 36, in main
    print(str(next(imputd)).readlines())
  File "H:\Document\Python\j10.py", line 21, in parse
    obj, idx = …
Run Code Online (Sandbox Code Playgroud)

python json

5
推荐指数
1
解决办法
4713
查看次数

标签 统计

json ×1

python ×1