从sqlite3拆分值

2024-04-20 15:51:14 发布

您现在位置:Python中文网/ 问答频道 /正文

这是我的A2计算项目。我希望这段代码从PupilPremiumTableNew和PupilTable中获取数据,其中PupilID等于一个输入,该输入将从另一个函数中获取,并将等于AllID。多个PupilID可以一次传递到函数中,这就是AllID是一个迭代列表的原因,这意味着程序可以在函数的一个调用中找到多个学生,而不仅仅是一个学生。你知道吗

从PupilTable和PupilPremiumNew收集的数据将被合并(如代码中所示),然后传递到tablate中(一个下载到python的附加组件,它允许我轻松地显示表,并且看起来相当不错)。然而,目前tabulate认为每个数字(包括,和括号中的左括号)都是独立的输入,所以我的数据分布在多个列中。 我认为,问题在于括号和/或AllInfo的数据类型。我不知道该怎么办,我试过很多方法,但都不管用,比如使用join和split,尽管我可能用错了。你知道吗

    while Count < Length:
    PupilID = AllID[Count]
    PupilID = str('.'.join(str(x) for x in PupilID))
    with sqlite3.connect("PupilPremiumTableNew.db") as db:
        cursor = db.cursor()
        cursor.execute("SELECT * FROM PupilPremiumTableNew where PupilID =?",(PupilID,))
        AllPupils = str(cursor.fetchone())
        cursor.execute("SELECT PupilSurname, PupilName, SeasonOfBirth,SpecialEducationalNeeds,YearGroup FROM PupilTable where PupilID =?",(PupilID,))
        PupilTableInfo = str(cursor.fetchall())
        if AllPupils == 'None':
            Count = Count + 1
        else:
            AllInfo = [PupilTableInfo + AllPupils]
            Count = Count + 1
            print(AllInfo)

返回的信息是:

["[('Meow', 'James', 'Spring', 'y', 1)](1, '1a', '1a', '1a', 'Autumn', 1, 'Small groups', 'Large groups', 'One on one', 1)"]

它来自两个文件,PupilTable和PupilPremiumTableNew。这两个都是关系型数据库,尽管我认为没有必要。你知道吗

谢谢,如果你想要这个表格输出评论,我没有把它放进去,因为我不认为它是相关的,因为这不是一个错误的表格,但与括号。你知道吗

谢谢恶魔77


Tags: 函数代码dbcountcursor学生括号join
1条回答
网友
1楼 · 发布于 2024-04-20 15:51:14

在和一些朋友交谈之后,我意识到我想在sqlite3中使用一个内部连接。任何有类似问题的人都应该查看什么是内部连接以及其他两种类型的连接。它使这更简单。你知道吗

谢谢 恶魔77

相关问题 更多 >