我有project.json
文件,其中包含这样的数据:
{"student_id": "ST0001", "project": [{"subject_id": "S003", "date_of_submission": "2021-05-23 20:03:05"}, {"subject_id": "S004", "date_of_submission": "2021-05-24 21:03:05"}, {"subject_id": "S005", "date_of_submission": "2021-05-30 05:09:30"}], "project_year": "Second"}
{"student_id": "ST0002", "project": [{"subject_id": "S003", "date_of_submission": "2021-06-02 15:05:05"}, {"subject_id": "S007", "date_of_submission": "2021-04-28 21:03:01"}], "project_year": "Second"}
{"student_id": "ST0002", "project": [{"subject_id": "S0018", "date_of_submission": "2020-06-03 08:15:21"}], "project_year": "First"}
我需要将嵌套subject_id
并提取date_of_submission
到一个单独的列中,例如:
学生卡 | 主题ID | 提交日期 | 项目年 |
---|---|---|---|
ST0001 | S003 | 2021 年 5 月 23 日 20:03 | 第二 |
ST0001 | S004 | 24/05/2021 21:03 | 第二 |
ST0001 | S005 | 30/05/2021 05:09 | 第二 |
ST0002 | S003 | 2021 年 2 月 6 日 15:05 | 第二 |
ST0002 | S007 | 28/04/2021 21:03 | 第二 |
ST0002 | S0018 | 2020 年 3 月 6 日 08:15 | 第一的 |
我想我们可以用它json_normalize
来提取一个级别,有人可以帮我完成这个吗?
import pandas as pd
df=pd.read_json('project.json', lines=True)
df = pd.DataFrame(df).explode('project')