相关疑难解决方法(0)

一个文件中的多个Json对象由python提取

我是Json文件的新手.如果我有一个带有多个json对象的json文件,如下所示:

{"ID":"12345","Timestamp":"20140101", "Usefulness":"Yes",
  "Code":[{"event1":"A","result":"1"},…]}
{"ID":"1A35B","Timestamp":"20140102", "Usefulness":"No",
  "Code":[{"event1":"B","result":"1"},…]}
{"ID":"AA356","Timestamp":"20140103", "Usefulness":"No",
  "Code":[{"event1":"B","result":"0"},…]}
…
Run Code Online (Sandbox Code Playgroud)

我想将所有"时间戳"和"有用性"提取到数据框中:

    Timestamp    Usefulness
 0   20140101      Yes
 1   20140102      No
 2   20140103      No
 …
Run Code Online (Sandbox Code Playgroud)

有谁知道处理这些问题的一般方法?谢谢!

python parsing json pandas

31
推荐指数
4
解决办法
7万
查看次数

在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 ×2

python ×2

pandas ×1

parsing ×1