【发布时间】:2021-12-28 12:04:35
【问题描述】:
从一开始,我就需要指出显而易见的事情:我或多或少是一个完整的初学者,非常感谢非常具体、详细的建议和指导。
我使用以下方法从 Canvas API 中提取了数据:
result = requests.get('https://canvas.gu.se/api/v1/courses/xxxxx/assignments/xxxxxx/submissions', params={"include": ["submission_history", "submission_comments"]}, headers={'Authorization': 'Bearer ' + canvas_token})
数据被格式化为 json 并在 Jupyter Notebook 中使用 pandas 进行处理。指定要包含的数据最终在一个列中,但是应该有一种方法可以将这些字典及其明显不同的内容解压缩到单独的列中。现在看起来像这样:
[{'id': xxxxxx, 'comment': 'Text text text text', 'author_id': 219949, 'author_name': 'Name Name', 'created_at': '2021-11-09T12:13:26Z', 'edited_at': None, 'avatar_path': '/images/users/xxxxxx-xxxxxxxx', 'author': {'id': xxxxxx, 'display_name': 'Name Name', 'avatar_image_url': 'https://canvas.gu.se/images/messages/avatar-50.png', 'html_url': 'https://canvas.gu.se/courses/xxxxx/users/xxxxxx', 'pronouns': None}}, {'id': xxxxxx, 'comment': 'Other text text text text', 'author_id': xxxxxx, 'author_name': 'Name Name', 'created_at': '2021-11-09T12:13:40Z', 'edited_at': None, 'avatar_path': '/images/users/xxxxxx-xxxxxxxx', 'author': {'id': xxxxxx, 'display_name': 'Name Name', 'avatar_image_url': 'https://canvas.gu.se/images/messages/avatar-50.png', 'html_url': 'https://canvas.gu.se/courses/xxxxx/users/xxxxxx', 'pronouns': None}}]
我想要的是分别有 cmets 以便于阅读。我查看了 json_normalize,但无法让它工作。
附带说明:检索到的数据应该包含来自超过 200 名学生的数据,但我只得到 10 名。知道我可能做错了什么吗?
【问题讨论】:
-
您想要所有 cmets 的列表?
-
您在上面看到的是在“submission_cmets”列的一个单元格中找到的内容。我希望将数据分成不同的列,而实际的 cmets,这里用“Text text text text”匿名,是我感兴趣的信息。