我在我的学生管理应用程序中实现了一个用于sqllite数据库的GridDB容器,但是我需要去掉数据库上的空值。我怎样才能删除行而不让它们出现在应用程序上?我试图在这里给出一个应用程序外观的示例图片。显示两个空值的五行。
import pandas as pd
import griddb_python as griddb
from kivy.metrics import dp
from kivy.uix.anchorlayout import AnchorLayout
from kivymd.app import MDApp
from kivymd.uix.datatables import MDDataTable
from kivymd.uix.label import MDLabel
import sqllite3
factory = griddb.StoreFactory.get_instance()
try:
gridstore = factory.get_store(host="127.0.0.1", port="8080",
cluster_name="Cluster12", username="root",
password="")
conInfo = griddb.ContainerInfo("Students_DB",
[
["Student ID", griddb.Type.INTEGER],
["First Name", griddb.Type.STRING],
["Last Name", griddb.Type.STRING],
["Gender", griddb.Type.STRING,
["DOB", griddb.Type.STRING],
["Current Year", griddb.Type.INTEGER],
["CGPA", griddb.Type.FLOAT],
],
griddb.ContainerType.COLLECTION, True)
con = gridstore.put_container(conInfo)
# Reading Database into a Pandas DataFrame
container = sqlite3.connect("StudentsDB.db")
df = pd.read_sql_query("SELECT * from best_students", container)
# Adding the database
for i in range(len(df)):
ret = con.put(df.iloc[i, :])
except Exception as e:
print(e)
sql_statement = ('SELECT * FROM Students_DB')
sql_query = pd.read_sql_query(sql_statement, con)
class Students(MDApp):
def build(self):
layout = AnchorLayout()
title = MDLabel(
text = "Students Record Management(SRM)",
theme_text_color = "Custom",
text_color = (0, 0, 0, 1),
pos_hint = {"center_x": .5, "center_y": .8},
size_hint_x = 1,
halign = "center"
)
#...发布于 2021-09-18 06:03:02
我不知道您希望在哪个位置删除空值。但是griddb语法接受在查询中使用以下语法删除null:
SELECT * from best_students where <columnName> IS NOT NULL
请记住,将columnName更改为您喜欢从哪个列中删除空。
编辑我稍后看到你的照片。如果您想从姓氏中删除NULL,您应该这样写:
SELECT * from best_students where 'Last Name' IS NOT NULL
https://stackoverflow.com/questions/68727856
复制相似问题