Я хотел бы вставить данные в новую таблицу, где AmountSpent в tblFinance для CategoryID '?' это <бюджет в tblCategory, который связан с идентификатором </p>
, например, если AmountSpent = 1000, CategoryID = 1 CategoryBudget = 900, вставить суммы, потраченные в tblExpRptOver, и, если он меньше, чем бюджет, вставить в tblExpRptUnder. Я пробовал то, что, как мне показалось, должно работать, но оно выдает мне эту ошибку:
line 613, in test
'CategoryID = ? AND AmountSpent < ? ', (category_input, budget_input, ))
sqlite3.InterfaceError: Error binding parameter 1 - probably unsupported type.
Код, который я пытаюсь выполнить:
view_avg = input("Would you like to view the averages for under/over expenses for a specific category? Y/N \n")
if view_avg == "Y":
category_input = input("Please input the CategoryID for the category you'd like to view the averages for:"
"\n")
budget_input = ('SELECT CategoryBudget FROM tblCategory WHERE CategoryID = ?', (category_input, ))
c.execute('INSERT INTO tblExpOver SELECT CategoryID, AmountSpent FROM tblExpRptMonth WHERE '
'CategoryID = ? AND AmountSpent < ? ', (category_input, budget_input, ))
c.execute('INSERT INTO tblExpUnder SELECT CategoryID, AmountSpent FROM tblExpRptMonth WHERE '
'CategoryID = ? AND AmountSpent > ? ', (category_input, budget_input,))
df_avg_over = pd.read_sql_query("SELECT * FROM tblExpOver", conn)
df_avg_under = pd.read_sql_query("SELECT * FROM tblExpUnder", conn)
with PdfPages('GraphByMonth.pdf') as pdf:
firstPage = plt.figure(figsize=(11.69, 8.27))
firstPage.clf()
txt = 'Average Expense on Over Expenses for Category ', category_input, ':',\
df_avg_over["AmountSpent"].mean()
txt1 = 'Average Expense on Under Expenses for Category ', category_input, ':', \
df_avg_under["AmountSpent"].mean()
firstPage.text(0.5, 0.5, txt, txt1, transform=firstPage.transFigure, size=24, ha="center")
pdf.savefig()
plt.close()
fig = plt.figure(figsize=(11.69, 8.27))
df2.plot(kind='bar')
plt.title('Expense Graph by Month')
txt = 'Month Expense Graph'
plt.text(0.05, 0.95, txt, transform=fig.transFigure, size=24)
plt.xlabel("Expense Number")
plt.ylabel("Amount Spent")
pdf.savefig()
plt.close()
menu()
Любая помощь приветствуется! РЕДАКТИРОВАТЬ: CategoryBudget хранится в другой таблице для информации о категории - tblCategory.