从列表中仅打印1个值,但不止一个| SQL LITE PYTHON

时间:2019-04-28 19:13:38

标签: python sql sqlite class

你好,我正在用python和sqlite3做小项目,

因此,我有一个YPSurvey_Final类,该类具有预定义的值,可以连接到名为YoungPeopleFinal.db的数据库。

这是类文件的代码-

import sqlite3

class YPSurvey_Final:

def __init__(self, database):
    self.__databaseName = database
    self.__conn = sqlite3.connect(database)
    self.__cur = self.__conn.cursor()

def getNumberOfEachPhobia(self):
    """Returns the total number of people who took the survey"""
    self.__cur.execute("SELECT Phobia, COUNT(*) FROM Phobias GROUP BY Phobia ORDER BY Phobia")
    for row in self.__cur:
        self.__phobiaList.append(row)
    return self.__phobiaList

我的问题是,它仅打印数据库中的一个值(Storm,123),并且还有9种恐惧症可供打印。

我尝试在单独的文件中使用此代码,并且按预期工作正常

import sqlite3

conn = sqlite3.connect('YoungPeopleFinal.db')
cur = conn.cursor()

cur.execute("SELECT Phobia, COUNT(*) FROM Phobias GROUP BY Phobia ORDER BY Phobia")


for row in cur:
    print (row)
cur.close()
conn.close()

所以我需要帮助找出打印所有值的方式。

该数据库具有所有值,并且100%正常工作并且正确,因此它不是数据库错误。

这就是我叫班级文件的方式

from YPSurvey_Final import YPSurvey_Final

def main():

base = YPSurvey_Final("YoungPeopleFinal.db")
print (base.getNumberOfEachPhobia())
main()

0 个答案:

没有答案