Как преобразовать данные из sqlite3 Python в число с плавающей запятой?Python

Программы на Python
Ответить
Anonymous
 Как преобразовать данные из sqlite3 Python в число с плавающей запятой?

Сообщение Anonymous »

Мне нужно извлечь доходы и расходы из базы данных SQLite3. Они выделяются в отдельной строке категории в базе данных, а затем на основе этих данных я хочу нарисовать круговую диаграмму. Однако для этого мне нужны данные с плавающей запятой. Как мне преобразовать эти данные в числа с плавающей запятой?
Я не использую QSQLITE, я использую только sqlite3.
Вот код:
Код для круговой диаграммы:
def draw_pie_chart(self):
self.pie_chart = QtCharts.QChart()

self.pie_series = QtCharts.QPieSeries()
self.pie_series.setLabelsVisible(True)
self.pie_series.setLabelsPosition(QtCharts.QPieSlice.LabelOutside)

self.slice_income = QtCharts.QPieSlice("Income", self.conn.get_total_income())
self.slice_outcome = QtCharts.QPieSlice("Outcome", self.conn.get_total_outcome())
print(f"Полученные данные: Income = {self.conn.get_total_income()}, Outcome= {self.conn.get_total_outcome()}")

self.pie_series.append(self.slice_income)
self.pie_series.append(self.slice_outcome)

self.pie_chart.addSeries(self.pie_series)
self.pie_chart.setTitle("Total income and outcome")
self.pie_chart.legend().setVisible(True)
self.pie_chart.legend().setAlignment(Qt.AlignBottom)

self.ui.graphWidget.setChart(self.pie_chart)

Код БД:
curs.execute("""CREATE TABLE IF NOT EXISTS finance (
ID INTEGER PRIMARY KEY AUTOINCREMENT,
user_id INTEGER,
header VARCHAR(100),
date VARCHAR(20),
category VARCHAR(20),
description VARCHAR(150),
sum REAL
)""")

db.commit()

def get_transaction(self, category=None, value=None):
self.curs.execute(f"SELECT sum FROM finance WHERE user_id = 1 AND {category} = category")
self.db.commit()

def get_total_balance(self):
return self.get_transaction()

def get_total_income(self):
return self.get_transaction(category="category", value="Income")

def get_total_outcome(self):
return self.get_transaction(category="category", value="Outcome")


Подробнее здесь: https://stackoverflow.com/questions/798 ... n-to-float
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»