Здравствуйте, я делаю маленький проект с 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()