Python将列表转换为拆分列表

时间:2018-06-21 14:30:07

标签: python python-3.x list-comprehension

因此,我被赋予了使用api提取学生记录和学习者ID并将其放入内部应用程序的任务。 json格式令人恐惧,而我成功分割学生的唯一成功方法是按最后一个值。

现在我处于下一个绊脚石,我需要将这些学生列表拆分成较小的部分,因此我实现了一个for循环:

student = request.text.split('"SENMajorNeedsDetails"')

for students in student:
    r = str(student).split(',')

print (student[0], student[1])

print (r[0], r[1])

除了将所有内容重新放入单个列表并且每条学生记录都不是固定长度(某些值/字段比其他字段/字段多)以外,这非常有效。

所以我要做的是为每个用逗号分隔的学生列出一个清单,所以Student1等于[learnerID,personID,name,etc...]

这样,当我想引用学习者ID时,可以调用learner1[0]


很有可能我会以错误的方式进行操作,我应该做一些其他形式的列表理解

我要针对的逐步过程是:

  1. 从系统中提取数据-完成
  2. 将数据拆分为单个学生-完成
  3. 获取每个学生的学习者ID,姓名,组并添加数据库条目

我将步骤3分为两个阶段,一个阶段涉及我上面的问题,第二个阶段是创建数据库记录

下面是列表项student [0]的简短示例,如果需要更多,请紧跟student [1],然后说

    :null},{"LearnerId":XXXXXX,"PersonId":XXXXXX,"LearnerCode":"XXXX-XXXXXX","UPN":"XXXXXXXXXXX","ULN":"XXXXXXXXXX","Surname":"XXXXX","Forename":"XXXXX","LegalSurname":"XXXXX","LegalForename":"XXXXXX","DateOfBirth":"XX/XX/XXXX 00:00:00","Year":"XX","Course":"KS5","DateOfEntry":"XX/XX/XXXX 00:00:00","Gender":"X","RegGroup":"1XX",],

        :null},{"LearnerId":YYYYYYY,"PersonId":YYYYYYYY,"LearnerCode":"XXXX-YYYYYYYY","UPN":"YYYYYYYYYY","ULN":"YYYYYYYYYY","Surname":"YYYYYYYY","Forename":"YYYYYY","LegalSurname":"YYYYYY","LegalForename":"YYYYYYY","DateOfBirth":"XX/XX/XXXX 00:00:00","Year":"XX","Course":"KS5","DateOfEntry":"XX/XX/XXXX 00:00:00","Gender":"X","RegGroup":"1YY",],

抱歉,不喜欢将它放在单独的行上

EDIT *最后更改了措辞,并添加了经过编辑的学生记录

1 个答案:

答案 0 :(得分:0)

为澄清我问题的解决方案,是学习如何正确解析JSON,@Patrick Haugh指出了这一点,所有功劳都应归功于他为我指明了正确的方向。第二有用的人是@ArndtJonasson

问题是我正在手动尝试完成JSON库的工作,但我还远远没有达到这个水平。如最初所述,我完全有可能完全以错误的方式进行操作。