将复杂嵌套Listing JSON数据转换为表格视图的技术问询
将嵌套课程表JSON转换为表格视图
没问题,我来帮你把这段嵌套的课程表JSON转换成清晰易读的表格。首先先把你提供的原始JSON整理完整(你的内容有部分截断,我补全了关键结构):
[ { "class_name": "Class One", "section": [ { "section": "A", "day": [ { "day_name": "Sunday", "routine": [ { "period": "First", "teacher": "Kiran Magar", "start_time": "10:00 AM", "end_time": "10:40 AM", "subject": "English" }, { "period": "Second", "teacher": "Kushal Karki", "start_time": "10:40 AM", "end_time": "11:20 AM", "subject": "Nepali" }, { "period": "Third", "teacher": "Komal Rai", "start_time": "11:20 AM", "end_time": "12:00 PM", "subject": "Mathematics" } ] } ] } ] } ]
由于这是多层嵌套的数据,我们需要把它扁平化,让每一行对应一节具体的课程,同时保留所有层级的信息(班级、Section、星期几等)。转换后的表格如下:
| 班级名称 | Section | 星期几 | 课时 | 老师姓名 | 开始时间 | 结束时间 | 科目 |
|---|---|---|---|---|---|---|---|
| Class One | A | Sunday | First | Kiran Magar | 10:00 AM | 10:40 AM | English |
| Class One | A | Sunday | Second | Kushal Karki | 10:40 AM | 11:20 AM | Nepali |
| Class One | A | Sunday | Third | Komal Rai | 11:20 AM | 12:00 PM | Mathematics |
如果你需要用代码自动完成这种转换,这里给你一个Python的示例:
import json # 你的原始JSON数据 json_data = ''' [ { "class_name": "Class One", "section": [ { "section": "A", "day": [ { "day_name": "Sunday", "routine": [ { "period": "First", "teacher": "Kiran Magar", "start_time": "10:00 AM", "end_time": "10:40 AM", "subject": "English" }, { "period": "Second", "teacher": "Kushal Karki", "start_time": "10:40 AM", "end_time": "11:20 AM", "subject": "Nepali" }, { "period": "Third", "teacher": "Komal Rai", "start_time": "11:20 AM", "end_time": "12:00 PM", "subject": "Mathematics" } ] } ] } ] } ] ''' # 解析JSON data = json.loads(json_data) # 扁平化数据并准备表格行 table_rows = [] for cls in data: class_name = cls['class_name'] for sec in cls['section']: section = sec['section'] for day in sec['day']: day_name = day['day_name'] for routine in day['routine']: row = { '班级名称': class_name, 'Section': section, '星期几': day_name, '课时': routine['period'], '老师姓名': routine['teacher'], '开始时间': routine['start_time'], '结束时间': routine['end_time'], '科目': routine['subject'] } table_rows.append(row) # 打印表格(这里用简单的方式输出,也可以用pandas生成更美观的表格) print("| 班级名称 | Section | 星期几 | 课时 | 老师姓名 | 开始时间 | 结束时间 | 科目 |") print("|------------|---------|---------|--------|----------------|------------|------------|------------|") for row in table_rows: print(f"| {row['班级名称']:<10} | {row['Section']:<7} | {row['星期几']:<7} | {row['课时']:<6} | {row['老师姓名']:<14} | {row['开始时间']:<10} | {row['结束时间']:<10} | {row['科目']:<10} |")
这段代码会自动遍历所有嵌套层级,把数据扁平化后输出成表格格式,如果你有更多班级、Section或者星期的数据,它也能自动处理。
内容的提问来源于stack exchange,提问作者TheSwiftGuy77
相关产品推荐
相关产品推荐

