【发布时间】:2019-12-04 02:25:50
【问题描述】:
我有一个 sqlite 表:
conn.execute("""CREATE TABLE IF NOT EXISTS students(
ID integer not null primary key,
Department text ,
Standing text ,
GPA real,
unique(ID)
);""")
我有一个元组列表:
all_info =[('MATH', 70, 10, 20), ('BIOLOGY', 82, 12, 15), ('CHEMISTRY', 78, 30, 20), ('COMPUTER SCIENCE', 113, 5, 15), ('INFORMATICS', 138, 16, 2), ('ENGLISH', 94, 17, 33), ('SPANISH', 118, 7, 42), ('BIOCHEMISTRY', 104, 14, 39),
元组包含每个部门的学生人数信息。比如数学系有70名优等生,10名见习生和20名普通学生,总共有100名学生。
我需要根据元组中的信息将数据插入到学生数据库中。 学生表的期望结果:
ID Department Standing GPA
1 Math Honors 93
2 Math Honors 93
3 Math Probation 60
...and so on.
(there would be 70 entries of math students in Honors standing with a GPA of 93.)
如果学生是荣誉学生,他们的 GPA 将为 93,如果学生处于试用期,他们的 GPA 将为 60,如果学生处于正常状态,他们的 GPA 将为 80。
我无法根据元组列表中的信息以编程方式将值插入到学生表中。
谢谢。
编辑 1: 我被困在从哪里开始,我想循环遍历元组列表
for item in all_info:
ID = randint(1,99999)
num_honor = item[1]
num_prob = item[2]
num_norm = item[3]
cur.execute(INSERT statement..)
但这只会输入每个元组中的内容,有什么想法可以根据元组中的数字插入行吗?
【问题讨论】:
-
你能分享一下你已经尝试过的代码sn-p吗
-
已编辑,我还没有真正想出任何可以尝试的方法——我添加了一些伪代码。
标签: python-3.x sqlite